calyx 0.10.0 → 0.10.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c30774b8a6567532e9ee613185e1f4505665e197
4
- data.tar.gz: fd92cdc99522713e076ae9161d855c18eb42058f
3
+ metadata.gz: ae6e35e886bac0c971b12dd3d747c35826776ae3
4
+ data.tar.gz: 4f7f9b30aef7828796e2ab19c0c5934a05fa0ae9
5
5
  SHA512:
6
- metadata.gz: de2c0e4685357546aeda4474c5b16be15c1461c517d4c1ca0210ce21a85e191eeb23be760ac7660a48518b764e4c12c88f8a8e61e5487440a6d5d40f848784e7
7
- data.tar.gz: 459fcb3685caeb784df815592ad1e0da37d82bbf29def422c27e90b90d7ccf9e8168115f6e484b6a99c835fa7106268b8c4171c10bd3f7af3bc194e1c7cc0798
6
+ metadata.gz: 1a609ed4f575994d220a37601c20baf3a249aba52e972f65d1adfe5e929e7fb7a9732071b15ec352ceef1c4f8836dc38c377542280fbd22f758fd451b23d1d21
7
+ data.tar.gz: abddf4ce3d2917295f187ef07fb72919bd163bbd71e15fc372eda351aaa25fbc8e3ca085d45f581791c4120f452f50bb72a216939718d82ae1a84b443a010f8d
data/README.md CHANGED
@@ -249,6 +249,8 @@ end
249
249
  # => Jon <jon>
250
250
  ```
251
251
 
252
+ Note that the memoization symbol can only be used on the right hand side of a production rule.
253
+
252
254
  ### Dynamically Constructing Rules
253
255
 
254
256
  Template expansions can be dynamically constructed at runtime by passing a context map of rules to the `#generate` method:
@@ -26,8 +26,10 @@ module Calyx
26
26
  def transform(name, value)
27
27
  if value.respond_to?(name)
28
28
  value.send(name)
29
- else
29
+ elsif mappings.key?(name)
30
30
  mappings[name].call(value)
31
+ else
32
+ value
31
33
  end
32
34
  end
33
35
 
@@ -74,9 +76,8 @@ module Calyx
74
76
 
75
77
  def construct_mapping(pairs)
76
78
  mapper = -> (input) {
77
- pairs.each { |match,target|
78
- return input.gsub(match, target) if input =~ match
79
- }
79
+ match, target = pairs.detect { |match, target| input =~ match }
80
+ input.gsub(match, target)
80
81
  }
81
82
  end
82
83
 
data/lib/calyx/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Calyx
2
- VERSION = '0.10.0'.freeze
2
+ VERSION = '0.10.2'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: calyx
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.10.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Rickerby
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-19 00:00:00.000000000 Z
11
+ date: 2016-05-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler