dslkit 0.2.12 → 0.2.13
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.
- checksums.yaml +7 -0
- data/.travis.yml +5 -2
- data/Gemfile +1 -1
- data/VERSION +1 -1
- data/dslkit.gemspec +6 -6
- data/lib/dslkit/polite.rb +6 -0
- data/lib/dslkit/version.rb +1 -1
- data/tests/dynamic_scope_test.rb +5 -0
- metadata +10 -24
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: aac60c2535545ad7c70e3c53ff3feaa4edb05ade
|
4
|
+
data.tar.gz: b700102407f273e157d919f1c50cb331beecafa6
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 4aa261c6e4d175d9ed130755aaeaf7f511dd62d7447f9722129bfaf32ccaed98bba96808221bf747047041dfe523ecdc89378b27e1e1dd8849d7e87d22824aa5
|
7
|
+
data.tar.gz: 02aa773a47d3c0078d641cb420711018fda27f398569bd800d4fd7fa79259a62fb2dedc0f83ab401c1e69e35cf0130f8ea3df031e5a775dfb34ccf608d4431cf
|
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.13
|
data/dslkit.gemspec
CHANGED
@@ -2,24 +2,24 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = "dslkit"
|
5
|
-
s.version = "0.2.
|
5
|
+
s.version = "0.2.13"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Florian Frank"]
|
9
|
-
s.date = "
|
9
|
+
s.date = "2013-06-11"
|
10
10
|
s.description = "This library contains recurring patterns, that are useful in the creation of internal Domain Specific Languages (DSL) in Ruby."
|
11
11
|
s.email = "flori@ping.de"
|
12
|
-
s.extra_rdoc_files = ["README.rdoc", "lib/dslkit
|
13
|
-
s.files = [".gitignore", ".
|
12
|
+
s.extra_rdoc_files = ["README.rdoc", "lib/dslkit.rb", "lib/dslkit/polite.rb", "lib/dslkit/rude.rb", "lib/dslkit/version.rb"]
|
13
|
+
s.files = [".gitignore", ".travis.yml", "CHANGES", "COPYING", "Gemfile", "README.rdoc", "Rakefile", "TODO", "VERSION", "dslkit.gemspec", "examples/add_one.png", "examples/add_one.stm", "examples/bb3.png", "examples/bb3.stm", "examples/bb3_19.stm", "examples/concatenate_compare.mtm", "examples/concatenate_compare.png", "examples/concatenate_compare_19.mtm", "examples/length_difference.mtm", "examples/length_difference.png", "examples/length_difference_19.mtm", "examples/let.rb", "examples/mail.rb", "examples/minsky.rb", "examples/multiply.reg", "examples/null_pattern.rb", "examples/ones_difference-mtm.png", "examples/ones_difference-stm.png", "examples/ones_difference.mtm", "examples/ones_difference.stm", "examples/ones_difference_19.mtm", "examples/ones_difference_19.stm", "examples/prefix-equals-suffix-reversed-with-infix.png", "examples/prefix-equals-suffix-reversed-with-infix.stm", "examples/prefix-equals-suffix-reversed-with-infix_19.stm", "examples/recipe.rb", "examples/recipe2.rb", "examples/recipe_common.rb", "examples/subtract.reg", "examples/turing-graph.rb", "examples/turing.rb", "lib/dslkit.rb", "lib/dslkit/polite.rb", "lib/dslkit/rude.rb", "lib/dslkit/version.rb", "tests/concern_test.rb", "tests/dynamic_scope_test.rb", "tests/from_module_test.rb", "tests/polite_test.rb", "tests/scope_test.rb", "tests/test_helper.rb"]
|
14
14
|
s.homepage = "http://flori.github.com/dslkit"
|
15
15
|
s.rdoc_options = ["--title", "Dslkit - Kit for building DSLs in Ruby", "--main", "README.rdoc"]
|
16
16
|
s.require_paths = ["lib"]
|
17
|
-
s.rubygems_version = "
|
17
|
+
s.rubygems_version = "2.0.3"
|
18
18
|
s.summary = "Kit for building DSLs in Ruby"
|
19
19
|
s.test_files = ["tests/concern_test.rb", "tests/dynamic_scope_test.rb", "tests/from_module_test.rb", "tests/polite_test.rb", "tests/scope_test.rb", "tests/test_helper.rb"]
|
20
20
|
|
21
21
|
if s.respond_to? :specification_version then
|
22
|
-
s.specification_version =
|
22
|
+
s.specification_version = 4
|
23
23
|
|
24
24
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
25
25
|
s.add_development_dependency(%q<gem_hadar>, ["~> 0.1.8"])
|
data/lib/dslkit/polite.rb
CHANGED
@@ -685,6 +685,12 @@ module DSLKit
|
|
685
685
|
|
686
686
|
attr_accessor :dynamic_scope_name
|
687
687
|
|
688
|
+
def dynamic_defined?(id)
|
689
|
+
self.dynamic_scope_name ||= :variables
|
690
|
+
scope_reverse(dynamic_scope_name) { |c| c.key?(id) and return true }
|
691
|
+
false
|
692
|
+
end
|
693
|
+
|
688
694
|
def dynamic_scope(&block)
|
689
695
|
self.dynamic_scope_name ||= :variables
|
690
696
|
scope_block(Context.new, dynamic_scope_name, &block)
|
data/lib/dslkit/version.rb
CHANGED
data/tests/dynamic_scope_test.rb
CHANGED
@@ -6,12 +6,16 @@ class DynamicScopeTest < Test::Unit::TestCase
|
|
6
6
|
|
7
7
|
def test_dynamic_scoping
|
8
8
|
assert_raise(NameError) { foo }
|
9
|
+
assert_equal false, dynamic_defined?(:foo)
|
9
10
|
dynamic_scope do
|
10
11
|
assert_raise(NameError) { foo }
|
12
|
+
assert_equal false, dynamic_defined?(:foo)
|
11
13
|
self.foo = 1
|
12
14
|
assert_equal 1, foo
|
15
|
+
assert_equal true, dynamic_defined?(:foo)
|
13
16
|
dynamic_scope do
|
14
17
|
assert_equal 1, foo
|
18
|
+
assert_equal true, dynamic_defined?(:foo)
|
15
19
|
self.foo = 2
|
16
20
|
assert_equal 2, foo
|
17
21
|
dynamic_scope do
|
@@ -21,6 +25,7 @@ class DynamicScopeTest < Test::Unit::TestCase
|
|
21
25
|
end
|
22
26
|
assert_equal 1, foo
|
23
27
|
end
|
28
|
+
assert_equal false, dynamic_defined?(:foo)
|
24
29
|
assert_raise(NameError) { foo }
|
25
30
|
end
|
26
31
|
end
|
metadata
CHANGED
@@ -1,20 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dslkit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
5
|
-
prerelease:
|
4
|
+
version: 0.2.13
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Florian Frank
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2013-06-11 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: gem_hadar
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - ~>
|
20
18
|
- !ruby/object:Gem::Version
|
@@ -22,7 +20,6 @@ dependencies:
|
|
22
20
|
type: :development
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - ~>
|
28
25
|
- !ruby/object:Gem::Version
|
@@ -30,23 +27,20 @@ dependencies:
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: utils
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - '>='
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '0'
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - '>='
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '0'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: term-ansicolor
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
45
|
- - ~>
|
52
46
|
- !ruby/object:Gem::Version
|
@@ -54,7 +48,6 @@ dependencies:
|
|
54
48
|
type: :runtime
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
52
|
- - ~>
|
60
53
|
- !ruby/object:Gem::Version
|
@@ -62,7 +55,6 @@ dependencies:
|
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: tins
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
59
|
- - ~>
|
68
60
|
- !ruby/object:Gem::Version
|
@@ -70,7 +62,6 @@ dependencies:
|
|
70
62
|
type: :runtime
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
66
|
- - ~>
|
76
67
|
- !ruby/object:Gem::Version
|
@@ -82,13 +73,12 @@ executables: []
|
|
82
73
|
extensions: []
|
83
74
|
extra_rdoc_files:
|
84
75
|
- README.rdoc
|
76
|
+
- lib/dslkit.rb
|
85
77
|
- lib/dslkit/polite.rb
|
86
78
|
- lib/dslkit/rude.rb
|
87
79
|
- lib/dslkit/version.rb
|
88
|
-
- lib/dslkit.rb
|
89
80
|
files:
|
90
81
|
- .gitignore
|
91
|
-
- .rvmrc
|
92
82
|
- .travis.yml
|
93
83
|
- CHANGES
|
94
84
|
- COPYING
|
@@ -141,6 +131,7 @@ files:
|
|
141
131
|
- tests/test_helper.rb
|
142
132
|
homepage: http://flori.github.com/dslkit
|
143
133
|
licenses: []
|
134
|
+
metadata: {}
|
144
135
|
post_install_message:
|
145
136
|
rdoc_options:
|
146
137
|
- --title
|
@@ -150,25 +141,20 @@ rdoc_options:
|
|
150
141
|
require_paths:
|
151
142
|
- lib
|
152
143
|
required_ruby_version: !ruby/object:Gem::Requirement
|
153
|
-
none: false
|
154
144
|
requirements:
|
155
|
-
- -
|
145
|
+
- - '>='
|
156
146
|
- !ruby/object:Gem::Version
|
157
147
|
version: '0'
|
158
|
-
segments:
|
159
|
-
- 0
|
160
|
-
hash: 663480197723648101
|
161
148
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
162
|
-
none: false
|
163
149
|
requirements:
|
164
|
-
- -
|
150
|
+
- - '>='
|
165
151
|
- !ruby/object:Gem::Version
|
166
152
|
version: '0'
|
167
153
|
requirements: []
|
168
154
|
rubyforge_project:
|
169
|
-
rubygems_version:
|
155
|
+
rubygems_version: 2.0.3
|
170
156
|
signing_key:
|
171
|
-
specification_version:
|
157
|
+
specification_version: 4
|
172
158
|
summary: Kit for building DSLs in Ruby
|
173
159
|
test_files:
|
174
160
|
- tests/concern_test.rb
|