class LiveRecord::Generators::InstallGenerator

Private Class Methods

next_migration_number(dir) click to toggle source
# File lib/live_record/generators/install_generator.rb, line 60
def self.next_migration_number(dir)
  Time.now.utc.strftime("%Y%m%d%H%M%S")
end

Public Instance Methods

copy_assets_javascript_template() click to toggle source
# File lib/live_record/generators/install_generator.rb, line 13
def copy_assets_javascript_template
  copy_file "javascript.#{javascript_engine}.rb", "lib/templates/#{javascript_engine}/assets/javascript.#{javascript_engine}"
end
copy_live_record_update_model_template() click to toggle source
# File lib/live_record/generators/install_generator.rb, line 29
def copy_live_record_update_model_template
  class_collisions 'LiveRecordUpdate'
  template 'live_record_update.rb', File.join('app/models', 'live_record_update.rb')
  migration_template 'create_live_record_updates.rb', 'db/migrate/create_live_record_updates.rb'
end
copy_model_template() click to toggle source
# File lib/live_record/generators/install_generator.rb, line 17
def copy_model_template
  copy_file "model.rb.rb", "lib/templates/active_record/model/model.rb"
end
copy_scaffold_index_template() click to toggle source
# File lib/live_record/generators/install_generator.rb, line 21
def copy_scaffold_index_template
  copy_file "index.html.#{template_engine}", "lib/templates/#{template_engine}/scaffold/index.html.#{template_engine}" if live_dom
end
copy_scaffold_show_template() click to toggle source
# File lib/live_record/generators/install_generator.rb, line 25
def copy_scaffold_show_template
  copy_file "show.html.#{template_engine}", "lib/templates/#{template_engine}/scaffold/show.html.#{template_engine}" if live_dom
end
update_application_javascript() click to toggle source

def copy_live_record_publication_channel_template

class_collisions 'LiveRecordPublicationChannel'
template 'live_record_publication_channel.rb', File.join('app/channels', 'live_record_publication_channel.rb')

end

# File lib/live_record/generators/install_generator.rb, line 45
def update_application_javascript
  in_root do
    insert_into_file 'app/assets/javascripts/application.js', "//= require live_record\n", before: "//= require_tree ."
    insert_into_file 'app/assets/javascripts/application.js', "//= require live_record/plugins/live_dom\n", before: "//= require_tree ." if live_dom
  end
end
update_cable_javascript() click to toggle source
# File lib/live_record/generators/install_generator.rb, line 52
def update_cable_javascript
  in_root do
    insert_into_file 'app/assets/javascripts/cable.js', "\n  LiveRecord.init(App.cable);", after: "App.cable = ActionCable.createConsumer();"
  end
end

Private Instance Methods

javascript_engine() click to toggle source
# File lib/live_record/generators/install_generator.rb, line 64
def javascript_engine
  Rails.application.config.generators.options[:rails][:javascript_engine] || options[:javascript_engine]
end
live_dom() click to toggle source
# File lib/live_record/generators/install_generator.rb, line 72
def live_dom
  options[:live_dom] == 'true' ? true : options[:live_dom] == 'false' ? false : raise(ArgumentError, 'invalid value for --live_dom. Can only be `true` or `false`')
end
template_engine() click to toggle source
# File lib/live_record/generators/install_generator.rb, line 68
def template_engine
  Rails.application.config.generators.options[:rails][:template_engine] || options[:template_engine]
end