equivalent / scrapbook2

web-development notes and archive of Old articles
MIT License
144 stars 52 forks source link

Scrapbook2

Pure git/github version of my scrapbook on Ruby on Rails, web-development, linux system configuration.

source https://stackoverflow.com/questions/3087975/make-the-cursor-a-hand-when-a-user-hovers-over-a-list-item

##########################################################################
##                                                                      ##
##   Check individual .md files above for more information on topics    ##
##                                                                      ##
##########################################################################

Archive:

tools for developers

# on VM
curl --upload-file /tmp/export.csv https://transfer.sh/
# https://transfer.sh/123456/export.csv

# on Laptop
wget  https://transfer.sh/123456/export.csv

Web-development notes unsorted

random notes

# bin/importmap pin local-time
time_tag post.created_at, 'data-local': 'time-ago'

rails g resource comment post:reference content:text

form.text_area :content, size: '20x5'

<div id="<%= dom_id @post %>" >
</div>

Notice message

  <% if quote.errors.any? %>

      <%= @model.errors.full_messages.to_sentence.capitalize %>
  <% end %>

Rails find session_id in rails console

#  `app` is variable  and `ENV` a constant loaded when you start rails console
a = Rails.application.config.session_store.new(app, Rails.application.config.session_options)
a.class # => ActionDispatch::Session::RedisStore
a.get_session(ENV, '07319b2485be9ac4850664cd47cede38')  # you can find session id inspecting
                                                        # your cookis via firefox or plugin

# or a.find_session(ENV, '07319b2485be9ac4850664cd47cede38')

generate ri documentation

rvm docs generate

to lunch ri Array

cowsay

require 'net/http'
require 'cgi'

class Cowsays
  def say(message)
    message = CGI.escape(message)
    Net::HTTP.get_print(URI.parse(http://www.cowsays.com/cowsay?message=#{message}))
  end
end

source: ruby tapas 30

rails all models

Rails.application.eager_load!
ActiveRecord::Base.descendants

include Rails helpers in cusom class

class Foo
  include Rails.application.routes.url_helpers
  # ... or you can Delegate methods it

  def home_macro
    h.link_to 'Home', root_path
  end

  private

  def h
    ActionController::Base.helpers
  end

end

note you can do include UrlHelper which includes link_to but this will work only for String based urls as this module was changed in Rails 4 ( check source code )

if you keep getting error arguments passed to url_for can't be handled ... your only chance is to use my former code

checkbox, radio input value to boolean

Rails 5, Rails 6, Rails 7

ActiveRecord::Type::Boolean.new.cast "f"

in Rails 4.2

ActiveRecord::Type::Boolean.new.type_cast_from_database(value)

in Rails 3.2 and down

ActiveRecord::ConnectionAdapters::Column.value_to_boolean 'f'  # => false
ActiveRecord::ConnectionAdapters::Column.value_to_boolean 't'  # => true
ActiveRecord::ConnectionAdapters::Column.value_to_boolean '0'  # => false
ActiveRecord::ConnectionAdapters::Column.value_to_boolean '1'  # => true
ActiveRecord::ConnectionAdapters::Column.value_to_boolean nil  # => false

...works the same the only difference is that when nil is passed it returns nil and "y", "n" will give you deprication warning

https://gist.github.com/equivalent/3825916

Robots.txt examlpe

Dont chache content that is restricted

Tell browser not to cache content that hold harmfull data (e.g.: user settings, card details..>)

<meta http-equiv="Cache-control" content="no-cache no-store">

Memory stats simple method

def memstats
  `ps -o size= #{$$}`.strip.to_i
end

source: ruby tapas 42

grep tail

 tail -f log/production.log | grep "NoMethodError"

rails time to iso 8601 (javascript time)

"2010-10-25 23:48:46 UTC".to_time.iso8601

Gems