Module: ConsoleUtils

Extended by:
ActiveSupport::Autoload
Defined in:
lib/console_utils.rb,
lib/console_utils/railtie.rb,
lib/console_utils/version.rb,
lib/console_utils/bench_utils.rb,
lib/console_utils/other_utils.rb,
lib/console_utils/repl_context.rb,
lib/console_utils/request_utils.rb,
lib/console_utils/active_record_utils.rb

Overview

:nodoc:

Defined Under Namespace

Modules: ActiveRecordUtils, BenchUtils, OtherUtils, RequestUtils Classes: Railtie, ReplContext

Constant Summary collapse

JSON_FORMATTERS =
[
  :default,
  :jq
]
MODULES =
[
  :ActiveRecordUtils,
  :RequestUtils,
  :BenchUtils,
  :OtherUtils
]
VERSION =
"0.3.1"

Class Method Summary collapse

Class Method Details

.auto_token_for(id) ⇒ Object



181
182
183
184
# File 'lib/console_utils.rb', line 181

def auto_token_for(id)
  user = find_user(id, scope: user_model.select([:id, user_token_column]))
  user.public_send(user_token_column)
end

.configure {|config| ... } ⇒ Object

:method: self.configure

Yields:



142
143
144
# File 'lib/console_utils.rb', line 142

def configure
  yield(config)
end

.each_enabled_moduleObject

Yields each enabled module with a given block



151
152
153
# File 'lib/console_utils.rb', line 151

def each_enabled_module
  enabled_modules.each { |mod| yield const_get(mod) }
end

.enabled_modulesObject



146
147
148
# File 'lib/console_utils.rb', line 146

def enabled_modules
  ConsoleUtils::MODULES - disabled_modules
end

.find_user(id, scope: nil) ⇒ Object

Finds user_model by user_primary_key. If the first argument is :any, gets a random user.



171
172
173
174
175
176
177
178
179
# File 'lib/console_utils.rb', line 171

def find_user(id, scope: nil)
  if id == :any
    user_scope(scope).anyone.tap do |u|
      puts "random user #{user_primary_key}: #{u.public_send(user_primary_key)}"
    end
  else
    user_scope(scope).where(user_primary_key => id).first!
  end
end

.irb!Object

Setup enabled modules for IRB context



187
188
189
# File 'lib/console_utils.rb', line 187

def irb!
  setup_modules_to(ReplContext.instance.irb!)
end

.pry!Object

Setup enabled modules for Pry context



192
193
194
# File 'lib/console_utils.rb', line 192

def pry!
  setup_modules_to(ReplContext.instance.pry!)
end

.setup_modules_to(context = nil) ⇒ Object

Setup enabled modules by extending given context



197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
# File 'lib/console_utils.rb', line 197

def setup_modules_to(context = nil)
  context, block = block, context if !block_given? && context.respond_to?(:call)
  context ||= yield if block_given?

  if context.nil?
    warn "[ConsoleUtils] Trying to setup with empty context"
    return
  end

  if ENV["CONSOLE_UTILS_DEBUG"] == "1"
    logger.level = Logger::DEBUG
    logger.debug { "Console instance: #{context.inspect} (#{ReplContext.instance.initialized_to})" }
  else
    logger.level = Logger::WARN
  end

  each_enabled_module { |mod| context.send(:extend, mod) }
end

.user_modelObject Also known as: user_class

Returns User’s class set in the :user_class_name



156
157
158
# File 'lib/console_utils.rb', line 156

def user_model
  Object.const_get(user_model_name)
end

.user_scope(scope = nil) ⇒ Object



161
162
163
164
165
166
167
# File 'lib/console_utils.rb', line 161

def user_scope(scope = nil)
  case scope
  when nil    then user_model
  when Symbol then user_model.public_send(scope)
              else user_model.all.merge(scope)
  end
end