Class: Microscope::InstanceMethod

Inherits:
Struct
  • 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(*args) ⇒ InstanceMethod

Returns a new instance of InstanceMethod.



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

def initialize(*args)
  super
  @field_name = field.name
end

Instance Attribute Details

#fieldObject

Returns the value of attribute field

Returns:

  • (Object)

    the current value of field



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

def field
  @field
end

#modelObject

Returns the value of attribute model

Returns:

  • (Object)

    the current value of model



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

def model
  @model
end

Class Method Details

.inject_instance_methods(model, fields, options = {}) ⇒ Object

Inject ActiveRecord scopes into a model



13
14
15
16
17
18
# File 'lib/microscope/instance_method.rb', line 13

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



8
9
10
# File 'lib/microscope/instance_method.rb', line 8

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