class Smooth::Application
Attributes
options[R]
Public Class Methods
new(options = {}, &block)
click to toggle source
# File lib/smooth/application.rb, line 8 def initialize(options = {}, &block) @options = options instance_eval(&block) if block_given? config do self.root = options[:root] end boot unless options[:defer] end
Public Instance Methods
api()
click to toggle source
# File lib/smooth/application.rb, line 32 def api @api ||= Smooth(options[:api] || :default) end
boot()
click to toggle source
# File lib/smooth/application.rb, line 58 def boot @boot ||= begin Smooth.active_record.establish_connection load_models Smooth.eager_load_from_app_folders end end
command(*args)
click to toggle source
# File lib/smooth/application.rb, line 48 def command(*args) smooth.send(:run_command, *args) end
config(&block)
click to toggle source
# File lib/smooth/application.rb, line 19 def config(&block) Smooth.config(&block) end
console()
click to toggle source
# File lib/smooth/application.rb, line 23 def console require 'pry' Pry.start(self, {}) end
load_models()
click to toggle source
# File lib/smooth/application.rb, line 52 def load_models Dir[config.models_path.join('**/*.rb')].each do |f| require config.models_path.join(f) end end
query(*args)
click to toggle source
# File lib/smooth/application.rb, line 44 def query(*args) smooth.send(:query, *args) end
resource(*args, &_block)
click to toggle source
# File lib/smooth/application.rb, line 40 def resource(*args, &_block) api.send(:resource, *args) end
smooth()
click to toggle source
# File lib/smooth/application.rb, line 36 def smooth @smooth ||= api.as(system_user) end
system_user()
click to toggle source
# File lib/smooth/application.rb, line 28 def system_user @system_user ||= User.new(email: 'system@smooth.io', role: 'system') end