glimmer 0.10.4 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +361 -0
- data/CONTRIBUTING.md +62 -0
- data/LICENSE.txt +1 -1
- data/PROCESS.md +35 -0
- data/README.md +465 -3527
- data/VERSION +1 -1
- data/lib/glimmer.rb +21 -5
- data/lib/glimmer/config.rb +21 -0
- data/lib/glimmer/data_binding/model_binding.rb +37 -27
- data/lib/glimmer/data_binding/observable.rb +21 -0
- data/lib/glimmer/data_binding/observable_array.rb +35 -39
- data/lib/glimmer/data_binding/observable_model.rb +42 -21
- data/lib/glimmer/data_binding/observer.rb +21 -0
- data/lib/glimmer/dsl/engine.rb +66 -58
- data/lib/glimmer/dsl/expression.rb +21 -0
- data/lib/glimmer/dsl/expression_handler.rb +21 -0
- data/lib/glimmer/dsl/parent_expression.rb +21 -0
- data/lib/glimmer/dsl/static_expression.rb +21 -0
- data/lib/glimmer/dsl/top_level_expression.rb +21 -0
- data/lib/glimmer/error.rb +21 -0
- data/lib/glimmer/invalid_keyword_error.rb +21 -0
- metadata +23 -17
- data/lib/glimmer/excluded_keyword_error.rb +0 -5
@@ -1,3 +1,24 @@
|
|
1
|
+
# Copyright (c) 2007-2020 Andy Maleh
|
2
|
+
#
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
# a copy of this software and associated documentation files (the
|
5
|
+
# "Software"), to deal in the Software without restriction, including
|
6
|
+
# without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
# distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
# permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
# the following conditions:
|
10
|
+
#
|
11
|
+
# The above copyright notice and this permission notice shall be
|
12
|
+
# included in all copies or substantial portions of the Software.
|
13
|
+
#
|
14
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
21
|
+
|
1
22
|
require 'glimmer/error'
|
2
23
|
|
3
24
|
module Glimmer
|
data/lib/glimmer/dsl/engine.rb
CHANGED
@@ -1,3 +1,25 @@
|
|
1
|
+
# Copyright (c) 2007-2020 Andy Maleh
|
2
|
+
#
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
# a copy of this software and associated documentation files (the
|
5
|
+
# "Software"), to deal in the Software without restriction, including
|
6
|
+
# without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
# distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
# permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
# the following conditions:
|
10
|
+
#
|
11
|
+
# The above copyright notice and this permission notice shall be
|
12
|
+
# included in all copies or substantial portions of the Software.
|
13
|
+
#
|
14
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
21
|
+
|
22
|
+
require 'forwardable'
|
1
23
|
require 'facets/string/camelcase'
|
2
24
|
|
3
25
|
require 'glimmer/dsl/expression_handler'
|
@@ -12,20 +34,42 @@ module Glimmer
|
|
12
34
|
# with ordered expression array specified via `.expressions=` method.
|
13
35
|
class Engine
|
14
36
|
MESSAGE_NO_DSLS = "Glimmer has no DSLs configured. Add glimmer-dsl-swt gem or visit https://github.com/AndyObtiva/glimmer#multi-dsl-support for more details.\n"
|
37
|
+
STATIC_EXPRESSION_METHOD_FACTORY = lambda do |keyword|
|
38
|
+
lambda do |*args, &block|
|
39
|
+
if Glimmer::DSL::Engine.no_dsls?
|
40
|
+
puts Glimmer::DSL::Engine::MESSAGE_NO_DSLS
|
41
|
+
else
|
42
|
+
retrieved_static_expression = Glimmer::DSL::Engine.static_expressions[keyword][Glimmer::DSL::Engine.dsl]
|
43
|
+
static_expression_dsl = (Glimmer::DSL::Engine.static_expressions[keyword].keys - Glimmer::DSL::Engine.disabled_dsls).first if retrieved_static_expression.nil?
|
44
|
+
interpretation = nil
|
45
|
+
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))
|
46
|
+
begin
|
47
|
+
interpretation = Glimmer::DSL::Engine.interpret(keyword, *args, &block)
|
48
|
+
rescue => e
|
49
|
+
raise e if static_expression_dsl.nil? || !Glimmer::DSL::Engine.static_expressions[keyword][static_expression_dsl].is_a?(TopLevelExpression)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
if interpretation
|
53
|
+
interpretation
|
54
|
+
else
|
55
|
+
raise Glimmer::Error, "Unsupported keyword: #{keyword}" unless static_expression_dsl || retrieved_static_expression
|
56
|
+
Glimmer::DSL::Engine.dsl_stack.push(static_expression_dsl || Glimmer::DSL::Engine.dsl)
|
57
|
+
static_expression = Glimmer::DSL::Engine.static_expressions[keyword][Glimmer::DSL::Engine.dsl]
|
58
|
+
if !static_expression.can_interpret?(Glimmer::DSL::Engine.parent, keyword, *args, &block)
|
59
|
+
raise Error, "Invalid use of Glimmer keyword #{keyword} with args #{args} under parent #{Glimmer::DSL::Engine.parent}"
|
60
|
+
else
|
61
|
+
Glimmer::Config.logger.info {"#{static_expression.class.name} will handle expression keyword #{keyword}"}
|
62
|
+
Glimmer::DSL::Engine.interpret_expression(static_expression, keyword, *args, &block)
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
15
68
|
|
16
69
|
class << self
|
17
|
-
|
18
|
-
dsl_name = dsl_name&.to_sym
|
19
|
-
if dsl_name
|
20
|
-
dsl_stack.push(dsl_name)
|
21
|
-
else
|
22
|
-
dsl_stack.clear
|
23
|
-
end
|
24
|
-
end
|
70
|
+
extend Forwardable
|
25
71
|
|
26
|
-
|
27
|
-
dsl_stack.last
|
28
|
-
end
|
72
|
+
def_delegator :dsl_stack, :last, :dsl
|
29
73
|
|
30
74
|
def dsls
|
31
75
|
static_expressions.values.map(&:keys).flatten.uniq
|
@@ -74,14 +118,10 @@ module Glimmer
|
|
74
118
|
end
|
75
119
|
|
76
120
|
# Sets dynamic expression chains of responsibility. Useful for internal testing
|
77
|
-
|
78
|
-
@dynamic_expression_chains_of_responsibility = chains
|
79
|
-
end
|
121
|
+
attr_writer :dynamic_expression_chains_of_responsibility
|
80
122
|
|
81
123
|
# Sets static expressions. Useful for internal testing
|
82
|
-
|
83
|
-
@static_expressions = expressions
|
84
|
-
end
|
124
|
+
attr_writer :static_expressions
|
85
125
|
|
86
126
|
# Sets an ordered array of DSL expressions to support
|
87
127
|
#
|
@@ -109,38 +149,7 @@ module Glimmer
|
|
109
149
|
static_expression_dsl = static_expression.class.dsl
|
110
150
|
static_expressions[keyword] ||= {}
|
111
151
|
static_expressions[keyword][static_expression_dsl] = static_expression
|
112
|
-
Glimmer.send(:define_method, keyword
|
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)
|
124
|
-
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
|
139
|
-
end
|
140
|
-
end
|
141
|
-
end
|
142
|
-
end
|
143
|
-
end
|
152
|
+
Glimmer.send(:define_method, keyword, &STATIC_EXPRESSION_METHOD_FACTORY.call(keyword))
|
144
153
|
end
|
145
154
|
|
146
155
|
def expression_class(dsl_namespace, expression_name)
|
@@ -152,16 +161,17 @@ module Glimmer
|
|
152
161
|
end
|
153
162
|
|
154
163
|
# Interprets Glimmer dynamic DSL expression consisting of keyword, args, and block (e.g. shell(:no_resize) { ... })
|
155
|
-
def interpret(keyword, *args, &block)
|
156
|
-
if no_dsls?
|
157
|
-
puts MESSAGE_NO_DSLS
|
158
|
-
return
|
159
|
-
end
|
164
|
+
def interpret(keyword, *args, &block)
|
165
|
+
return puts(MESSAGE_NO_DSLS) if no_dsls?
|
160
166
|
keyword = keyword.to_s
|
161
167
|
dynamic_expression_dsl = (dynamic_expression_chains_of_responsibility.keys - disabled_dsls).first if dsl.nil?
|
162
168
|
dsl_stack.push(dynamic_expression_dsl || dsl)
|
163
169
|
expression = dynamic_expression_chains_of_responsibility[dsl].handle(parent, keyword, *args, &block)
|
164
|
-
expression
|
170
|
+
interpret_expression(expression, keyword, *args, &block)
|
171
|
+
end
|
172
|
+
|
173
|
+
def interpret_expression(expression, keyword, *args, &block)
|
174
|
+
expression.interpret(parent, keyword, *args, &block).tap do |ui_object|
|
165
175
|
add_content(ui_object, expression, &block)
|
166
176
|
dsl_stack.pop
|
167
177
|
end
|
@@ -189,9 +199,7 @@ module Glimmer
|
|
189
199
|
#
|
190
200
|
# Parents are maintained in a stack while evaluating Glimmer DSL
|
191
201
|
# to ensure properly ordered interpretation of DSL syntax
|
192
|
-
|
193
|
-
parent_stack.last
|
194
|
-
end
|
202
|
+
def_delegator :parent_stack, :last, :parent
|
195
203
|
|
196
204
|
def parent_stack
|
197
205
|
parent_stacks[dsl] ||= []
|
@@ -1,3 +1,24 @@
|
|
1
|
+
# Copyright (c) 2007-2020 Andy Maleh
|
2
|
+
#
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
# a copy of this software and associated documentation files (the
|
5
|
+
# "Software"), to deal in the Software without restriction, including
|
6
|
+
# without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
# distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
# permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
# the following conditions:
|
10
|
+
#
|
11
|
+
# The above copyright notice and this permission notice shall be
|
12
|
+
# included in all copies or substantial portions of the Software.
|
13
|
+
#
|
14
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
21
|
+
|
1
22
|
require 'glimmer/error'
|
2
23
|
|
3
24
|
module Glimmer
|
@@ -1,3 +1,24 @@
|
|
1
|
+
# Copyright (c) 2007-2020 Andy Maleh
|
2
|
+
#
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
# a copy of this software and associated documentation files (the
|
5
|
+
# "Software"), to deal in the Software without restriction, including
|
6
|
+
# without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
# distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
# permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
# the following conditions:
|
10
|
+
#
|
11
|
+
# The above copyright notice and this permission notice shall be
|
12
|
+
# included in all copies or substantial portions of the Software.
|
13
|
+
#
|
14
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
21
|
+
|
1
22
|
require 'glimmer/invalid_keyword_error'
|
2
23
|
|
3
24
|
module Glimmer
|
@@ -1,3 +1,24 @@
|
|
1
|
+
# Copyright (c) 2007-2020 Andy Maleh
|
2
|
+
#
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
# a copy of this software and associated documentation files (the
|
5
|
+
# "Software"), to deal in the Software without restriction, including
|
6
|
+
# without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
# distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
# permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
# the following conditions:
|
10
|
+
#
|
11
|
+
# The above copyright notice and this permission notice shall be
|
12
|
+
# included in all copies or substantial portions of the Software.
|
13
|
+
#
|
14
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
21
|
+
|
1
22
|
require 'glimmer/error'
|
2
23
|
|
3
24
|
module Glimmer
|
@@ -1,3 +1,24 @@
|
|
1
|
+
# Copyright (c) 2007-2020 Andy Maleh
|
2
|
+
#
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
# a copy of this software and associated documentation files (the
|
5
|
+
# "Software"), to deal in the Software without restriction, including
|
6
|
+
# without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
# distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
# permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
# the following conditions:
|
10
|
+
#
|
11
|
+
# The above copyright notice and this permission notice shall be
|
12
|
+
# included in all copies or substantial portions of the Software.
|
13
|
+
#
|
14
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
21
|
+
|
1
22
|
require 'facets/string/underscore'
|
2
23
|
|
3
24
|
require 'glimmer/error'
|
@@ -1,3 +1,24 @@
|
|
1
|
+
# Copyright (c) 2007-2020 Andy Maleh
|
2
|
+
#
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
# a copy of this software and associated documentation files (the
|
5
|
+
# "Software"), to deal in the Software without restriction, including
|
6
|
+
# without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
# distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
# permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
# the following conditions:
|
10
|
+
#
|
11
|
+
# The above copyright notice and this permission notice shall be
|
12
|
+
# included in all copies or substantial portions of the Software.
|
13
|
+
#
|
14
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
21
|
+
|
1
22
|
module Glimmer
|
2
23
|
module DSL
|
3
24
|
# Mixin that represents expressions that are always at the top with parent nil
|
data/lib/glimmer/error.rb
CHANGED
@@ -1,3 +1,24 @@
|
|
1
|
+
# Copyright (c) 2007-2020 Andy Maleh
|
2
|
+
#
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
# a copy of this software and associated documentation files (the
|
5
|
+
# "Software"), to deal in the Software without restriction, including
|
6
|
+
# without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
# distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
# permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
# the following conditions:
|
10
|
+
#
|
11
|
+
# The above copyright notice and this permission notice shall be
|
12
|
+
# included in all copies or substantial portions of the Software.
|
13
|
+
#
|
14
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
21
|
+
|
1
22
|
module Glimmer
|
2
23
|
# Represents Glimmer errors that occur due to invalid use of Glimmer
|
3
24
|
# without handing control flow back to original method_missing
|
@@ -1,3 +1,24 @@
|
|
1
|
+
# Copyright (c) 2007-2020 Andy Maleh
|
2
|
+
#
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
# a copy of this software and associated documentation files (the
|
5
|
+
# "Software"), to deal in the Software without restriction, including
|
6
|
+
# without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
# distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
# permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
# the following conditions:
|
10
|
+
#
|
11
|
+
# The above copyright notice and this permission notice shall be
|
12
|
+
# included in all copies or substantial portions of the Software.
|
13
|
+
#
|
14
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
21
|
+
|
1
22
|
module Glimmer
|
2
23
|
# Represents Glimmer errors that occur due to invalid use of Glimmer
|
3
24
|
# without handing control flow back to original method_missing
|
metadata
CHANGED
@@ -1,16 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: glimmer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- AndyMaleh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-09-
|
11
|
+
date: 2020-09-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
+
name: array_include_methods
|
14
15
|
requirement: !ruby/object:Gem::Requirement
|
15
16
|
requirements:
|
16
17
|
- - ">="
|
@@ -19,7 +20,6 @@ dependencies:
|
|
19
20
|
- - "<"
|
20
21
|
- !ruby/object:Gem::Version
|
21
22
|
version: 2.0.0
|
22
|
-
name: array_include_methods
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -31,6 +31,7 @@ dependencies:
|
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: 2.0.0
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
|
+
name: facets
|
34
35
|
requirement: !ruby/object:Gem::Requirement
|
35
36
|
requirements:
|
36
37
|
- - ">="
|
@@ -39,7 +40,6 @@ dependencies:
|
|
39
40
|
- - "<"
|
40
41
|
- !ruby/object:Gem::Version
|
41
42
|
version: 4.0.0
|
42
|
-
name: facets
|
43
43
|
type: :runtime
|
44
44
|
prerelease: false
|
45
45
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -51,12 +51,12 @@ dependencies:
|
|
51
51
|
- !ruby/object:Gem::Version
|
52
52
|
version: 4.0.0
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
|
+
name: rspec-mocks
|
54
55
|
requirement: !ruby/object:Gem::Requirement
|
55
56
|
requirements:
|
56
57
|
- - "~>"
|
57
58
|
- !ruby/object:Gem::Version
|
58
59
|
version: 3.5.0
|
59
|
-
name: rspec-mocks
|
60
60
|
type: :development
|
61
61
|
prerelease: false
|
62
62
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -65,12 +65,12 @@ dependencies:
|
|
65
65
|
- !ruby/object:Gem::Version
|
66
66
|
version: 3.5.0
|
67
67
|
- !ruby/object:Gem::Dependency
|
68
|
+
name: rspec
|
68
69
|
requirement: !ruby/object:Gem::Requirement
|
69
70
|
requirements:
|
70
71
|
- - "~>"
|
71
72
|
- !ruby/object:Gem::Version
|
72
73
|
version: 3.5.0
|
73
|
-
name: rspec
|
74
74
|
type: :development
|
75
75
|
prerelease: false
|
76
76
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -79,12 +79,12 @@ dependencies:
|
|
79
79
|
- !ruby/object:Gem::Version
|
80
80
|
version: 3.5.0
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
|
+
name: puts_debuggerer
|
82
83
|
requirement: !ruby/object:Gem::Requirement
|
83
84
|
requirements:
|
84
85
|
- - "~>"
|
85
86
|
- !ruby/object:Gem::Version
|
86
87
|
version: 0.10.0
|
87
|
-
name: puts_debuggerer
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
90
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -93,6 +93,7 @@ dependencies:
|
|
93
93
|
- !ruby/object:Gem::Version
|
94
94
|
version: 0.10.0
|
95
95
|
- !ruby/object:Gem::Dependency
|
96
|
+
name: rake
|
96
97
|
requirement: !ruby/object:Gem::Requirement
|
97
98
|
requirements:
|
98
99
|
- - ">="
|
@@ -101,7 +102,6 @@ dependencies:
|
|
101
102
|
- - "<"
|
102
103
|
- !ruby/object:Gem::Version
|
103
104
|
version: 14.0.0
|
104
|
-
name: rake
|
105
105
|
type: :development
|
106
106
|
prerelease: false
|
107
107
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -113,6 +113,7 @@ dependencies:
|
|
113
113
|
- !ruby/object:Gem::Version
|
114
114
|
version: 14.0.0
|
115
115
|
- !ruby/object:Gem::Dependency
|
116
|
+
name: jeweler
|
116
117
|
requirement: !ruby/object:Gem::Requirement
|
117
118
|
requirements:
|
118
119
|
- - ">="
|
@@ -121,7 +122,6 @@ dependencies:
|
|
121
122
|
- - "<"
|
122
123
|
- !ruby/object:Gem::Version
|
123
124
|
version: 3.0.0
|
124
|
-
name: jeweler
|
125
125
|
type: :development
|
126
126
|
prerelease: false
|
127
127
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -133,6 +133,7 @@ dependencies:
|
|
133
133
|
- !ruby/object:Gem::Version
|
134
134
|
version: 3.0.0
|
135
135
|
- !ruby/object:Gem::Dependency
|
136
|
+
name: rdoc
|
136
137
|
requirement: !ruby/object:Gem::Requirement
|
137
138
|
requirements:
|
138
139
|
- - ">="
|
@@ -141,7 +142,6 @@ dependencies:
|
|
141
142
|
- - "<"
|
142
143
|
- !ruby/object:Gem::Version
|
143
144
|
version: 7.0.0
|
144
|
-
name: rdoc
|
145
145
|
type: :development
|
146
146
|
prerelease: false
|
147
147
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -153,12 +153,12 @@ dependencies:
|
|
153
153
|
- !ruby/object:Gem::Version
|
154
154
|
version: 7.0.0
|
155
155
|
- !ruby/object:Gem::Dependency
|
156
|
+
name: coveralls
|
156
157
|
requirement: !ruby/object:Gem::Requirement
|
157
158
|
requirements:
|
158
159
|
- - '='
|
159
160
|
- !ruby/object:Gem::Version
|
160
161
|
version: 0.8.23
|
161
|
-
name: coveralls
|
162
162
|
type: :development
|
163
163
|
prerelease: false
|
164
164
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -167,12 +167,12 @@ dependencies:
|
|
167
167
|
- !ruby/object:Gem::Version
|
168
168
|
version: 0.8.23
|
169
169
|
- !ruby/object:Gem::Dependency
|
170
|
+
name: simplecov
|
170
171
|
requirement: !ruby/object:Gem::Requirement
|
171
172
|
requirements:
|
172
173
|
- - "~>"
|
173
174
|
- !ruby/object:Gem::Version
|
174
175
|
version: 0.16.1
|
175
|
-
name: simplecov
|
176
176
|
type: :development
|
177
177
|
prerelease: false
|
178
178
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -181,12 +181,12 @@ dependencies:
|
|
181
181
|
- !ruby/object:Gem::Version
|
182
182
|
version: 0.16.1
|
183
183
|
- !ruby/object:Gem::Dependency
|
184
|
+
name: simplecov-lcov
|
184
185
|
requirement: !ruby/object:Gem::Requirement
|
185
186
|
requirements:
|
186
187
|
- - "~>"
|
187
188
|
- !ruby/object:Gem::Version
|
188
189
|
version: 0.7.0
|
189
|
-
name: simplecov-lcov
|
190
190
|
type: :development
|
191
191
|
prerelease: false
|
192
192
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -194,15 +194,22 @@ dependencies:
|
|
194
194
|
- - "~>"
|
195
195
|
- !ruby/object:Gem::Version
|
196
196
|
version: 0.7.0
|
197
|
-
description: Ruby
|
197
|
+
description: Glimmer is a Ruby DSL engine with support for the Glimmer DSL for SWT
|
198
|
+
(JRuby Desktop Development GUI Library), the Glimmer DSL for Tk (Ruby Desktop Development
|
199
|
+
GUI Library), the Glimmer DSL for Opal (Web GUI Adapter for Desktop Apps), the Glimmer
|
200
|
+
DSL for XML (& HTML), and the Glimmer DSL for CSS.
|
198
201
|
email: andy.am@gmail.com
|
199
202
|
executables: []
|
200
203
|
extensions: []
|
201
204
|
extra_rdoc_files:
|
205
|
+
- CHANGELOG.md
|
202
206
|
- LICENSE.txt
|
203
207
|
- README.md
|
204
208
|
files:
|
209
|
+
- CHANGELOG.md
|
210
|
+
- CONTRIBUTING.md
|
205
211
|
- LICENSE.txt
|
212
|
+
- PROCESS.md
|
206
213
|
- README.md
|
207
214
|
- VERSION
|
208
215
|
- lib/glimmer.rb
|
@@ -219,7 +226,6 @@ files:
|
|
219
226
|
- lib/glimmer/dsl/static_expression.rb
|
220
227
|
- lib/glimmer/dsl/top_level_expression.rb
|
221
228
|
- lib/glimmer/error.rb
|
222
|
-
- lib/glimmer/excluded_keyword_error.rb
|
223
229
|
- lib/glimmer/invalid_keyword_error.rb
|
224
230
|
homepage: http://github.com/AndyObtiva/glimmer
|
225
231
|
licenses:
|
@@ -240,8 +246,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
240
246
|
- !ruby/object:Gem::Version
|
241
247
|
version: '0'
|
242
248
|
requirements: []
|
243
|
-
rubygems_version: 3.
|
249
|
+
rubygems_version: 3.1.2
|
244
250
|
signing_key:
|
245
251
|
specification_version: 4
|
246
|
-
summary: Ruby
|
252
|
+
summary: Glimmer Ruby DSL Engine
|
247
253
|
test_files: []
|