Class: MarkdownComposer::WhereRegistry

Inherits:
Object
  • Object
show all
Defined in:
lib/markdown_composer/registries/where_registry.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(fields:, predicates:, groups:) ⇒ WhereRegistry

Returns a new instance of WhereRegistry.



50
51
52
53
54
# File 'lib/markdown_composer/registries/where_registry.rb', line 50

def initialize(fields:, predicates:, groups:)
  @fields = Registry.new(fields)
  @predicates = Registry.new(predicates)
  @groups = Registry.new(groups)
end

Instance Attribute Details

#fieldsObject (readonly)

Returns the value of attribute fields.



48
49
50
# File 'lib/markdown_composer/registries/where_registry.rb', line 48

def fields
  @fields
end

#groupsObject (readonly)

Returns the value of attribute groups.



48
49
50
# File 'lib/markdown_composer/registries/where_registry.rb', line 48

def groups
  @groups
end

#predicatesObject (readonly)

Returns the value of attribute predicates.



48
49
50
# File 'lib/markdown_composer/registries/where_registry.rb', line 48

def predicates
  @predicates
end

Instance Method Details

#condition_mapObject



72
73
74
# File 'lib/markdown_composer/registries/where_registry.rb', line 72

def condition_map
  fields.entries.to_h { |entry| [ entry.token, entry.predicates ] }
end

#field?(token) ⇒ Boolean

Returns:

  • (Boolean)


56
57
58
# File 'lib/markdown_composer/registries/where_registry.rb', line 56

def field?(token)
  fields.key?(token)
end

#group?(token) ⇒ Boolean

Returns:

  • (Boolean)


64
65
66
# File 'lib/markdown_composer/registries/where_registry.rb', line 64

def group?(token)
  groups.key?(token)
end

#predicate?(token) ⇒ Boolean

Returns:

  • (Boolean)


60
61
62
# File 'lib/markdown_composer/registries/where_registry.rb', line 60

def predicate?(token)
  predicates.key?(token)
end

#predicates_for(field) ⇒ Object



68
69
70
# File 'lib/markdown_composer/registries/where_registry.rb', line 68

def predicates_for(field)
  fields[field]&.predicates || []
end

#to_hObject



76
77
78
79
80
81
82
# File 'lib/markdown_composer/registries/where_registry.rb', line 76

def to_h
  {
    fields: fields.to_a,
    predicates: predicates.to_a,
    groups: groups.to_a
  }
end