Class: Microscope::InstanceMethod

Inherits:
Object
  • Object
show all
Defined in:
lib/microscope/instance_method.rb,
lib/microscope/instance_method/date_instance_method.rb,
lib/microscope/instance_method/boolean_instance_method.rb,
lib/microscope/instance_method/datetime_instance_method.rb

Defined Under Namespace

Classes: BooleanInstanceMethod, DateInstanceMethod, DatetimeInstanceMethod

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(model, field) ⇒ InstanceMethod

Returns a new instance of InstanceMethod.



5
6
7
8
# File 'lib/microscope/instance_method.rb', line 5

def initialize(model, field)
  @model = model
  @field = field
end

Instance Attribute Details

#fieldObject (readonly)

Returns the value of attribute field.



3
4
5
# File 'lib/microscope/instance_method.rb', line 3

def field
  @field
end

#modelObject (readonly)

Returns the value of attribute model.



3
4
5
# File 'lib/microscope/instance_method.rb', line 3

def model
  @model
end

Class Method Details

.inject_instance_methods(model, fields, _options) ⇒ Object

Inject ActiveRecord scopes into a model



15
16
17
18
19
20
# File 'lib/microscope/instance_method.rb', line 15

def self.inject_instance_methods(model, fields, _options)
  fields.each do |field|
    scope = "#{field.type.to_s.camelize}InstanceMethod"
    "Microscope::InstanceMethod::#{scope}".constantize.new(model, field).apply if const_defined?(scope)
  end
end

Instance Method Details

#cropped_fieldObject



10
11
12
# File 'lib/microscope/instance_method.rb', line 10

def cropped_field
  @cropped_field ||= @field.name.gsub(@cropped_field_regex, '')
end