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
- MODULES =
[ :ActiveRecordUtils, :RequestUtils, :BenchUtils, :OtherUtils ]
- JSON_FORMATTERS =
%i(default jq)
- VERSION =
"0.2.2"
Class Method Summary collapse
- .auto_token_for(id) ⇒ Object
-
.configure {|config| ... } ⇒ Object
:method: self.configure.
-
.each_enabled_module ⇒ Object
Yields each enabled module with a given block.
- .enabled_modules ⇒ Object
-
.find_user(id, scope: nil) ⇒ Object
Finds
user_modelbyuser_primary_key. -
.irb! ⇒ Object
Setup enabled modules for IRB context.
-
.pry! ⇒ Object
Setup enabled modules for Pry context.
-
.setup_modules_to(context = nil, &block) ⇒ Object
Setup enabled modules by extending given context.
-
.user_model ⇒ Object
(also: user_class)
Returns User’s class set in the
:user_class_name. - .user_scope(scope = nil) ⇒ Object
Instance Method Summary collapse
-
#auto_token ⇒ Object
:attr: Enable the auto-fetching of user’s auth token in requests (default:
true). -
#curl_bin ⇒ Object
:attr: Binary path to
curl(using in remote requests). -
#curl_silence ⇒ Object
:attr: Don’t print generated curl command with remote requests.
-
#default_token ⇒ Object
:attr: A plain string of the default token used to authorize user (default:
nil). -
#default_uid ⇒ Object
:attr: ID of the user which will be used by default in requests (default:
1). -
#disabled_modules ⇒ Object
:attr: An array with disabled modules (default:
[]). -
#jq_command ⇒ Object
:attr: Command for
jqjson formatter (default:"jq . -C"). -
#json_formatter ⇒ Object
:attr: JSON formatter used in API request helpers (
:defaultor:jq). -
#logger ⇒ Object
:attr: Output logger (
Rails.loggerby default). -
#remote_endpoint ⇒ Object
:attr: Remote endpoint used in remote API request helpers (default:
"http://example.com"). -
#token_param ⇒ Object
:attr: A name of the request parameter used to authorize user by a token (default:
:token). -
#user_model_name ⇒ Object
:attr: A name of user’s model (default:
:User). -
#user_primary_key ⇒ Object
:attr: A primary key of user’s model (default:
:id). -
#user_token_column ⇒ Object
:attr: A column name with a user’s token.
Class Method Details
.auto_token_for(id) ⇒ Object
170 171 172 173 |
# File 'lib/console_utils.rb', line 170 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
131 132 133 |
# File 'lib/console_utils.rb', line 131 def configure yield(config) end |
.each_enabled_module ⇒ Object
Yields each enabled module with a given block
140 141 142 |
# File 'lib/console_utils.rb', line 140 def each_enabled_module enabled_modules.each { |mod| yield const_get(mod) } end |
.enabled_modules ⇒ Object
135 136 137 |
# File 'lib/console_utils.rb', line 135 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.
160 161 162 163 164 165 166 167 168 |
# File 'lib/console_utils.rb', line 160 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
176 177 178 |
# File 'lib/console_utils.rb', line 176 def irb! setup_modules_to(ReplContext.instance.irb!) end |
.pry! ⇒ Object
Setup enabled modules for Pry context
181 182 183 |
# File 'lib/console_utils.rb', line 181 def pry! setup_modules_to(ReplContext.instance.pry!) end |
.setup_modules_to(context = nil, &block) ⇒ Object
Setup enabled modules by extending given context
186 187 188 189 190 191 192 |
# File 'lib/console_utils.rb', line 186 def setup_modules_to(context = nil, &block) context, block = block, context if !block_given? && context.respond_to?(:call) context ||= block.call puts "Console instance: #{context.inspect}" if ENV["CONSOLE_UTILS_DEBUG"] each_enabled_module { |mod| context.send(:extend, mod) } end |
.user_model ⇒ Object Also known as: user_class
Returns User’s class set in the :user_class_name
145 146 147 |
# File 'lib/console_utils.rb', line 145 def user_model Object.const_get(user_model_name) end |
.user_scope(scope = nil) ⇒ Object
150 151 152 153 154 155 156 |
# File 'lib/console_utils.rb', line 150 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 |
Instance Method Details
#auto_token ⇒ Object
:attr: Enable the auto-fetching of user’s auth token in requests (default: true)
67 |
# File 'lib/console_utils.rb', line 67 mattr_accessor(:auto_token) { true } |
#curl_bin ⇒ Object
:attr: Binary path to curl (using in remote requests). (default: "curl")
108 |
# File 'lib/console_utils.rb', line 108 mattr_accessor(:curl_bin) { "curl" } |
#curl_silence ⇒ Object
:attr: Don’t print generated curl command with remote requests. (default: false)
113 |
# File 'lib/console_utils.rb', line 113 mattr_accessor(:curl_silence) { false } |
#default_token ⇒ Object
:attr: A plain string of the default token used to authorize user (default: nil)
95 |
# File 'lib/console_utils.rb', line 95 mattr_accessor(:default_token) |
#default_uid ⇒ Object
:attr: ID of the user which will be used by default in requests (default: 1)
72 |
# File 'lib/console_utils.rb', line 72 mattr_accessor(:default_uid) { 1 } |
#disabled_modules ⇒ Object
:attr: An array with disabled modules (default: [])
62 |
# File 'lib/console_utils.rb', line 62 mattr_accessor(:disabled_modules) { [] } |
#jq_command ⇒ Object
:attr: Command for jq json formatter (default: "jq . -C")
104 |
# File 'lib/console_utils.rb', line 104 mattr_accessor(:jq_command) { "jq . -C" } |
#json_formatter ⇒ Object
:attr: JSON formatter used in API request helpers (:default or :jq)
100 |
# File 'lib/console_utils.rb', line 100 mattr_accessor(:json_formatter) { :default } |
#logger ⇒ Object
:attr: Output logger (Rails.logger by default)
122 |
# File 'lib/console_utils.rb', line 122 mattr_accessor :logger |
#remote_endpoint ⇒ Object
:attr: Remote endpoint used in remote API request helpers (default: "http://example.com")
118 |
# File 'lib/console_utils.rb', line 118 mattr_accessor(:remote_endpoint) { "http://example.com" } |
#token_param ⇒ Object
:attr: A name of the request parameter used to authorize user by a token (default: :token)
90 |
# File 'lib/console_utils.rb', line 90 mattr_accessor(:token_param) { :token } |
#user_model_name ⇒ Object
:attr: A name of user’s model (default: :User)
76 |
# File 'lib/console_utils.rb', line 76 mattr_accessor(:user_model_name) { :User } |
#user_primary_key ⇒ Object
:attr: A primary key of user’s model (default: :id)
80 |
# File 'lib/console_utils.rb', line 80 mattr_accessor(:user_primary_key) { :id } |
#user_token_column ⇒ Object
:attr: A column name with a user’s token. Using by request tools. (default: :auth_token)
85 |
# File 'lib/console_utils.rb', line 85 mattr_accessor(:user_token_column) { :auth_token } |