glimmer 0.9.4 → 0.10.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -96,7 +96,7 @@ module Glimmer
96
96
  dynamic_expression_chains_of_responsibility[dsl] = expression_names.reverse.map do |expression_name|
97
97
  expression_class(dsl_namespace, expression_name).new
98
98
  end.reduce(nil) do |last_expresion_handler, expression|
99
- Glimmer::Config.logger&.debug "Adding dynamic expression: #{expression.class.name}"
99
+ Glimmer::Config.logger.info {"Adding dynamic expression: #{expression.class.name}"}
100
100
  expression_handler = ExpressionHandler.new(expression)
101
101
  expression_handler.next = last_expresion_handler if last_expresion_handler
102
102
  expression_handler
@@ -104,49 +104,42 @@ module Glimmer
104
104
  end
105
105
 
106
106
  def add_static_expression(static_expression)
107
- Glimmer::Config.logger&.debug "Adding static expression: #{static_expression.class.name}"
107
+ Glimmer::Config.logger.info {"Adding static expression: #{static_expression.class.name}"}
108
108
  keyword = static_expression.class.keyword
109
109
  static_expression_dsl = static_expression.class.dsl
110
110
  static_expressions[keyword] ||= {}
111
111
  static_expressions[keyword][static_expression_dsl] = static_expression
112
112
  Glimmer.send(:define_method, keyword) do |*args, &block|
113
- begin
114
- if Glimmer::DSL::Engine.no_dsls?
115
- puts Glimmer::DSL::Engine::MESSAGE_NO_DSLS
116
- else
117
- retrieved_static_expression = Glimmer::DSL::Engine.static_expressions[keyword][Glimmer::DSL::Engine.dsl]
118
- static_expression_dsl = (Glimmer::DSL::Engine.static_expressions[keyword].keys - Glimmer::DSL::Engine.disabled_dsls).first if retrieved_static_expression.nil?
119
- interpretation = nil
120
- if retrieved_static_expression.nil? && Glimmer::DSL::Engine.dsl && (static_expression_dsl.nil? || !Glimmer::DSL::Engine.static_expressions[keyword][static_expression_dsl].is_a?(TopLevelExpression))
121
- begin
122
- interpretation = Glimmer::DSL::Engine.interpret(keyword, *args, &block)
123
- rescue => e
124
- Glimmer::DSL::Engine.reset
125
- raise e if static_expression_dsl.nil? || !Glimmer::DSL::Engine.static_expressions[keyword][static_expression_dsl].is_a?(TopLevelExpression)
126
- end
113
+ if Glimmer::DSL::Engine.no_dsls?
114
+ puts Glimmer::DSL::Engine::MESSAGE_NO_DSLS
115
+ else
116
+ retrieved_static_expression = Glimmer::DSL::Engine.static_expressions[keyword][Glimmer::DSL::Engine.dsl]
117
+ static_expression_dsl = (Glimmer::DSL::Engine.static_expressions[keyword].keys - Glimmer::DSL::Engine.disabled_dsls).first if retrieved_static_expression.nil?
118
+ interpretation = nil
119
+ if retrieved_static_expression.nil? && Glimmer::DSL::Engine.dsl && (static_expression_dsl.nil? || !Glimmer::DSL::Engine.static_expressions[keyword][static_expression_dsl].is_a?(TopLevelExpression))
120
+ begin
121
+ interpretation = Glimmer::DSL::Engine.interpret(keyword, *args, &block)
122
+ rescue => e
123
+ raise e if static_expression_dsl.nil? || !Glimmer::DSL::Engine.static_expressions[keyword][static_expression_dsl].is_a?(TopLevelExpression)
127
124
  end
128
- if interpretation
129
- interpretation
130
- else
131
- raise Glimmer::Error, "Unsupported keyword: #{keyword}" unless static_expression_dsl || retrieved_static_expression
132
- Glimmer::DSL::Engine.dsl_stack.push(static_expression_dsl || Glimmer::DSL::Engine.dsl)
133
- static_expression = Glimmer::DSL::Engine.static_expressions[keyword][Glimmer::DSL::Engine.dsl]
134
- if !static_expression.can_interpret?(Glimmer::DSL::Engine.parent, keyword, *args, &block)
135
- raise Error, "Invalid use of Glimmer keyword #{keyword} with args #{args} under parent #{Glimmer::DSL::Engine.parent}"
136
- else
137
- Glimmer::Config.logger&.debug "#{static_expression.class.name} will handle expression keyword #{keyword}"
138
- static_expression.interpret(Glimmer::DSL::Engine.parent, keyword, *args, &block).tap do |ui_object|
139
- Glimmer::DSL::Engine.add_content(ui_object, static_expression, &block) unless block.nil?
140
- Glimmer::DSL::Engine.dsl_stack.pop
141
- end
125
+ end
126
+ if interpretation
127
+ interpretation
128
+ else
129
+ raise Glimmer::Error, "Unsupported keyword: #{keyword}" unless static_expression_dsl || retrieved_static_expression
130
+ Glimmer::DSL::Engine.dsl_stack.push(static_expression_dsl || Glimmer::DSL::Engine.dsl)
131
+ static_expression = Glimmer::DSL::Engine.static_expressions[keyword][Glimmer::DSL::Engine.dsl]
132
+ if !static_expression.can_interpret?(Glimmer::DSL::Engine.parent, keyword, *args, &block)
133
+ raise Error, "Invalid use of Glimmer keyword #{keyword} with args #{args} under parent #{Glimmer::DSL::Engine.parent}"
134
+ else
135
+ Glimmer::Config.logger.info {"#{static_expression.class.name} will handle expression keyword #{keyword}"}
136
+ static_expression.interpret(Glimmer::DSL::Engine.parent, keyword, *args, &block).tap do |ui_object|
137
+ Glimmer::DSL::Engine.add_content(ui_object, static_expression, &block) unless block.nil?
138
+ Glimmer::DSL::Engine.dsl_stack.pop
142
139
  end
143
140
  end
144
- end
145
- rescue StandardError => e
146
- # Glimmer::DSL::Engine.dsl_stack.pop
147
- Glimmer::DSL::Engine.reset
148
- raise e
149
- end
141
+ end
142
+ end
150
143
  end
151
144
  end
152
145
 
@@ -172,10 +165,6 @@ module Glimmer
172
165
  add_content(ui_object, expression, &block)
173
166
  dsl_stack.pop
174
167
  end
175
- rescue StandardError => e
176
- # dsl_stack.pop
177
- reset
178
- raise e
179
168
  end
180
169
 
181
170
  # Adds content block to parent UI object
@@ -187,9 +176,12 @@ module Glimmer
187
176
  if block_given? && expression.is_a?(ParentExpression)
188
177
  dsl_stack.push(expression.class.dsl)
189
178
  parent_stack.push(parent)
190
- expression.add_content(parent, &block)
191
- parent_stack.pop
192
- dsl_stack.pop
179
+ begin
180
+ expression.add_content(parent, &block)
181
+ ensure
182
+ parent_stack.pop
183
+ dsl_stack.pop
184
+ end
193
185
  end
194
186
  end
195
187
 
@@ -23,9 +23,9 @@ module Glimmer
23
23
  # Otherwise, it forwards to the next handler configured via `#next=` method
24
24
  # If there is no handler next, then it raises an error
25
25
  def handle(parent, keyword, *args, &block)
26
- Glimmer::Config.logger&.debug "Attempting to handle #{keyword} with #{@expression.class.name.split(":").last}"
26
+ Glimmer::Config.logger.info {"Attempting to handle #{keyword} with #{@expression.class.name.split(":").last}"}
27
27
  if @expression.can_interpret?(parent, keyword, *args, &block)
28
- Glimmer::Config.logger&.debug "#{@expression.class.name} will handle expression keyword #{keyword}"
28
+ Glimmer::Config.logger.info {"#{@expression.class.name} will handle expression keyword #{keyword}"}
29
29
  return @expression
30
30
  elsif @next_expression_handler
31
31
  return @next_expression_handler.handle(parent, keyword, *args, &block)
@@ -34,7 +34,6 @@ module Glimmer
34
34
  message = "Glimmer keyword #{keyword} with args #{args} cannot be handled"
35
35
  message += " inside parent #{parent}" if parent
36
36
  message += "! Check the validity of the code."
37
- # Glimmer::Config.logger&.error message
38
37
  raise InvalidKeywordError, message
39
38
  end
40
39
  end
metadata CHANGED
@@ -1,15 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: glimmer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.4
4
+ version: 0.10.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - AndyMaleh
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-13 00:00:00.000000000 Z
11
+ date: 2020-09-02 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: 1.0.2
19
+ - - "<"
20
+ - !ruby/object:Gem::Version
21
+ version: 2.0.0
22
+ name: array_include_methods
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: 1.0.2
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: 2.0.0
13
33
  - !ruby/object:Gem::Dependency
14
34
  requirement: !ruby/object:Gem::Requirement
15
35
  requirements:
@@ -63,7 +83,7 @@ dependencies:
63
83
  requirements:
64
84
  - - "~>"
65
85
  - !ruby/object:Gem::Version
66
- version: 0.8.1
86
+ version: 0.10.0
67
87
  name: puts_debuggerer
68
88
  type: :development
69
89
  prerelease: false
@@ -71,7 +91,7 @@ dependencies:
71
91
  requirements:
72
92
  - - "~>"
73
93
  - !ruby/object:Gem::Version
74
- version: 0.8.1
94
+ version: 0.10.0
75
95
  - !ruby/object:Gem::Dependency
76
96
  requirement: !ruby/object:Gem::Requirement
77
97
  requirements: