mll 2.4.1 → 2.5.0

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: 4578ca0a16a98bc1a8ab3336d073e3520b85cdc9
4
- data.tar.gz: 78ef02a3c5081a97b4bf7fa7278d0da84d2e4f3a
3
+ metadata.gz: 7eaa6d43148b9cdf889647a63e9e8661629d776c
4
+ data.tar.gz: 53ad8127bbbc75b201bf98c316042281fdb97390
5
5
  SHA512:
6
- metadata.gz: b24b4691ada481ae2150e7f073b5e77f151d38d823a76743dc4bfcd1b0e52b55da52e61b5fdb9855108a6b2e9de3d04a563e9a9b8f1309ae414c88aac267d8db
7
- data.tar.gz: 4972ad59f90b6cddfd2c000144960a8850571682661037aed329923c21da3325450be4032586816b7462fa10c5f3fbd240d4a7dbd3463876883042b233adf0ce
6
+ metadata.gz: 622ac74b5373d2ef998ac01d1f834aeba929ae7a368a5f49b5ca1143ec07ce9dfaf8143486539859d7f79e4931c94e930828d6c3eeea518f36d2b26b9c6f77c4
7
+ data.tar.gz: c84783d82d35568dc977fe689483c173afaa9d3159053454796f1a9b06cc80cdb3d89259fd875af4677755e9de43961d7ba87ae1cf4b0f4e7ff0b0f5f590c084
@@ -1,20 +1,25 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 1.9.2
4
- - 1.9.3
5
- - 2.0.0
6
- - 2.0.0-p451 # OS X 10.9.4
7
- - 2.1.0
8
- - 2.1.2
9
- - 2.1.3
10
- - "2.1"
11
- - 2.2.0
12
- - "2.2"
13
- - ruby-head
14
- - jruby-19mode
15
- - jruby-head
16
- - rbx
17
- - rbx-2
3
+ - 1.9.2
4
+ - 1.9.3
5
+ - 2.0.0
6
+ - 2.0.0-p451 # OS X 10.9.4
7
+ - 2.1.0
8
+ - 2.1.2
9
+ - 2.1.3
10
+ - "2.1"
11
+ - 2.2.0
12
+ - "2.2"
13
+ - ruby-head
14
+ - jruby-19mode
15
+ - jruby-head
16
+ - rbx
17
+ - rbx-2
18
+ # jdk:
19
+ # - openjdk7
20
+ # - oraclejdk7
21
+ # - oraclejdk8
22
+ # - openjdk6
18
23
  os:
19
24
  - linux
20
25
  - osx
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- mll (2.4.1)
4
+ mll (2.5.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -25,6 +25,9 @@ PLATFORMS
25
25
  ruby
26
26
 
27
27
  DEPENDENCIES
28
- bundler (~> 1.7.0)
28
+ bundler (~> 1.12.0)
29
29
  mll!
30
30
  rspec (~> 3.3.0)
31
+
32
+ BUNDLED WITH
33
+ 1.12.3
data/README.md CHANGED
@@ -1,5 +1,6 @@
1
- # MLL (Mathematica Language Library)
1
+ # MLL (Wolfram Mathematica Language Library)
2
2
 
3
+ [![Join the chat at https://gitter.im/Nakilon/mll](https://badges.gitter.im/Nakilon/mll.svg)](https://gitter.im/Nakilon/mll?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
3
4
  [![Gem Version](https://badge.fury.io/rb/mll.svg)](http://badge.fury.io/rb/mll)
4
5
  [![Build Status](https://travis-ci.org/Nakilon/mll.svg)](https://travis-ci.org/Nakilon/mll)
5
6
 
@@ -120,174 +121,3 @@ or
120
121
  or
121
122
 
122
123
  rake # to implicitly run 'rake todo'
123
-
124
- ### TODO (this section is filled automatically by `rake todo` task -- do not remove)
125
-
126
- #### lib/mll.rb
127
-
128
- ```
129
- module MLL
130
- class << self
131
- def dimensions
132
- lambda do |list, limit = nil|
133
- enumerator = Enumerator.new do |e|
134
- while list.all?{ |i| i.respond_to? :each } &&
135
- # TODO refactor into depth-first yielding
136
- def nest_while
137
- # TODO finish me
138
- def fold_list
139
- lambda do |x, list, f = nil|
140
- # TODO use Ruby#inject ?
141
- def map
142
- # TODO validate depths
143
- # TODO break on passing all depths
144
- def table
145
- lambda do |f, *args|
146
- [].tap do |result|
147
- }]].tap do |stack|
148
- stack.each do |ai, ri|
149
- # TODO try to make #table lazy (Enumerator instead of Array)
150
- def grid
151
- lambda do |table, **options|
152
- # TODO negative spacings?
153
- # TODO smth with this #.all?
154
- # TODO https://reference.wolfram.com/language/ref/Alignment.html
155
- def riffle
156
- lambda do |*args|
157
- case args.size
158
- when 3
159
- Enumerator.new do |e|
160
- args[0].each_with_index do |x, i|
161
- # TODO make it not destructive
162
- # TODO not sure if we need any other kind of Listability except of #range[[Array]]
163
- # TODO #power[]
164
- ```
165
-
166
- #### spec/_spec.rb
167
-
168
- ```
169
- # TODO move Properties & Relations to some separate contexts maybe
170
- # TODO @fraggedICE wishes using Rational -- would also allow implementing more examples
171
- # TODO elegantly get rid of repetitive type checks
172
- # TODO ? let(:fake_lambda){ ->(*args){fail} }
173
- # TODO rewrite all Lazy#to_a into Lazy#force (it's not recursive and not documented)
174
- # TODO maybe make indexes count from 0 not 1
175
- # TODO merge similar examples
176
- # TODO deprecate tests that would obviously fail another tests
177
- # TODO check if we check for ArgumentError without being sure we raise it
178
- describe MLL do
179
- describe "List Manipulation" do
180
- describe "Constructing Lists" do
181
- describe "#table" do
182
- describe "Scope:" do
183
- # TODO: "Make a triangular array:"
184
- describe "#range" do
185
- # TODO take from docs more examples that involve other functions
186
- describe "Rearranging & Restructuring Lists" do
187
- describe "#riffle" do
188
- describe "Scope:" do
189
- example "intersperse two lists" do
190
- # TODO check how it works for list2.size == list1.size + 1 in Mathematica
191
- describe "Applying Functions to Lists" do
192
- describe "#fold_list" do
193
- describe "Applications:" do
194
- # TODO maybe move it to README.md
195
- describe "#map" do
196
- # TODO we'll need less nested mappings when we implement stop on depths depletion
197
- describe "Details:" do
198
- example "levels n1 though n2" do
199
- expect(map[[1,[2,[3,[4,[5,6]]]]], [2,4], ->(i){ [i] }].
200
- # TODO smth _<>
201
- # TODO "Level corresponds to the whole expression"
202
- # TODO currying "Map[f][expr] is equivalent to Map[f,expr]"
203
- describe "Scope:" do
204
- # TODO "Map on all levels, starting at level" ant other about Infinity
205
- describe "Properties & Relations:" do
206
- # TODO #mapall
207
- # TODO #mapthread ?
208
- # TODO #mapindexed ?
209
- # TODO "negative levels"
210
- describe "Elements of Lists" do
211
- # TODO #rest
212
- # TODO http://reference.wolfram.com/language/guide/RearrangingAndRestructuringLists.html
213
- # TODO http://reference.wolfram.com/language/guide/MathematicalAndCountingOperationsOnLists.html
214
- describe "Functional Programming" do
215
- describe "Iteratively Applying Functions" do
216
- # TODO move #nest_list and #fold_list and others here?
217
- # TODO examples in README.rb
218
- describe "#nest_while" do
219
- # TODO examples to README.md
220
- describe "Details:" do
221
- # TODO a lot
222
- describe "Scope:" do
223
- # TODO "always compare all values generated" do
224
- # TODO "compare the last two values generated" do
225
- # TODO "start comparisons after 4 iterations, and compare using the 4 last values" do
226
- # TODO "start comparisons after 4 iterations, and compare using the 6 last values" do
227
- # TODO example "stop after at most 4 iterations, even if the test is still true" do
228
- describe "Generalizations & Extensions:" do
229
- # TODO "return the last value for which the condition was still true" do
230
- describe "Applications:" do
231
- # TODO example "find the next twin prime after 888" do
232
- describe "Properties & Relations:" do
233
- # TODO "#nest_while can be expressed in terms of a while loop" do
234
- describe "Numerical Data" do
235
- describe "#mean" do
236
- # TODO examples to README.md
237
- describe "Grids & Tables" do
238
- describe "#grid" do
239
- describe "Details:" do
240
- # TODO SpanFromLeft SpanFromAbove SpanFromBoth
241
- # TODO The following options can be given
242
- # TODO Common settings for Frame
243
- # TODO The spec(k) can have the following forms
244
- # TODO With ItemSize->Automatic will break elements across multiple lines
245
- # TODO "settings can be used for BaselinePosition" do
246
- describe "Scope:" do
247
- # TODO Draw all the frames in red
248
- # TODO Put a frame around the first row and column
249
- # TODO Draw different frames with different styles
250
- # TODO Put dividers at all horizontal positions
251
- # TODO Put dividers at all vertical positions
252
- # TODO Put dividers at the third horizontal and second vertical positions
253
- # TODO Make the element 4 span the column to its right
254
- # TODO Make it span three rows
255
- # TODO Span throughout a 2×2 block
256
- # TODO Draw the grid with a pink background
257
- # TODO Alternating pink and yellow at successive horizontal positions
258
- # TODO Alternating pink and yellow at successive vertical positions
259
- # TODO Make the grid contents red
260
- # TODO "grids can be nested" do
261
- describe "Options:" do
262
- # TODO "align elements around the center of the grid" do
263
- # TODO "align numbers on the decimal point" do
264
- # TODO draw the grid with a pink background
265
- # TODO Pink and gray backgrounds for the first and second columns
266
- # TODO An equivalent syntax
267
- # TODO Pink and gray backgrounds for the first and second rows
268
- # TODO Alternating pink and gray backgrounds
269
- # TODO Alternating backgrounds with yellow superimposed in the first and last positions
270
- # TODO Set the background for specific items
271
- # TODO Set the background for a subregion of the grid
272
- # TODO Draw all interior dividers
273
- # TODO Draw a divider at every other horizontal position
274
- # TODO Include the final position
275
- # TODO Draw dividers with specified styles
276
- # TODO "frame specific elements" do
277
- # TODO "frame a region" do
278
- # TODO "make each item a fixed number of character-widths wide" do
279
- # TODO "ItemSize->All makes all items the same size" do
280
- # TODO "prevent line-wrapping" do
281
- # TODO "set one overall style for grid items" do
282
- # TODO "style specific elements" do
283
- # TODO "style a region" do
284
- # TODO "insert no additional space between rows or columns" do
285
- # TODO "specify spacing with numeric values" do
286
- # TODO "use different spacings at the first vertical divider" do
287
- describe "Properties & Relations:" do
288
- # TODO "the elements of a Grid can be extracted with #[]" do
289
- describe "Neat examples:" do
290
- # TODO "a Sudoku grid" do
291
- # TODO http://reference.wolfram.com/language/guide/HandlingArraysOfData.html
292
- # TODO http://reference.wolfram.com/language/guide/ComputationWithStructuredDatasets.html
293
- ```
data/Rakefile CHANGED
@@ -1,34 +1,26 @@
1
1
  require "bundler/gem_tasks"
2
+
3
+ task :default => %w{ spec todo }
4
+
2
5
  require "rspec/core/rake_task"
6
+ RSpec::Core::RakeTask.new(:spec) do |t|
7
+ t.verbose = false
8
+ end
3
9
 
4
- desc "Append TODO-list to README.md"
10
+ desc "Generate TODO.md"
5
11
  task :todo do |t|
6
- fail unless File.exist? "README.md"
7
- File.open("README.md", "r+") do |readme_file|
8
- # begin readme_file.gets end until $_[/^## TODO/]
9
- readme_file.gets "### TODO"
10
- readme_file.gets
12
+ File.open("TODO.md", "w") do |readme_file|
11
13
  %w{ lib/mll.rb spec/_spec.rb }.each do |file|
12
- readme_file.puts "", "#### #{file}", "", "```"
14
+ readme_file.puts "#### #{file}\n\n```"
13
15
  stack = []
14
16
  File.foreach(file) do |line|
15
17
  next unless shift = /\S/ =~ line
16
- depth = shift / 2
17
- stack[depth] = line
18
- if line[/^\s*# TODO/]
19
- readme_file.puts stack.take(depth + 1).compact
20
- stack.clear
21
- end
18
+ next unless (stack[depth = shift / 2] = line)[/^\s*# TODO/]
19
+ readme_file.puts stack.take(depth + 1).compact
20
+ stack.clear
22
21
  end
23
- readme_file.puts "```"
22
+ readme_file.puts "```\n\n"
24
23
  end
25
- readme_file.truncate readme_file.pos
26
24
  end
27
- puts `md5 README.md`
25
+ # puts `md5 TODO.md`
28
26
  end
29
-
30
- RSpec::Core::RakeTask.new(:spec) do |t|
31
- t.verbose = false
32
- end
33
-
34
- task :default => %w{ spec todo }
data/TODO.md ADDED
@@ -0,0 +1,169 @@
1
+ #### lib/mll.rb
2
+
3
+ ```
4
+ module MLL
5
+ class << self
6
+ def dimensions
7
+ lambda do |list, limit = nil|
8
+ enumerator = Enumerator.new do |e|
9
+ while list.all?{ |i| i.respond_to? :each } &&
10
+ # TODO refactor into depth-first yielding
11
+ def nest_while
12
+ # TODO finish me
13
+ def fold_list
14
+ lambda do |x, list, f = nil|
15
+ # TODO use Ruby#inject ?
16
+ def map
17
+ # TODO validate depths
18
+ # TODO break on passing all depths
19
+ def table
20
+ lambda do |f, *args|
21
+ [].tap do |result|
22
+ }]].tap do |stack|
23
+ stack.each do |ai, ri|
24
+ # TODO try to make #table lazy (Enumerator instead of Array)
25
+ def grid
26
+ lambda do |table, **options|
27
+ # TODO negative spacings?
28
+ # TODO smth with this #.all?
29
+ # TODO https://reference.wolfram.com/language/ref/Alignment.html
30
+ def riffle
31
+ lambda do |*args|
32
+ case args.size
33
+ when 3
34
+ Enumerator.new do |e|
35
+ args[0].each_with_index do |x, i|
36
+ # TODO make it not destructive
37
+ # TODO not sure if we need any other kind of Listability except of #range[[Array]]
38
+ # TODO #power[]
39
+ ```
40
+
41
+ #### spec/_spec.rb
42
+
43
+ ```
44
+ # TODO move Properties & Relations to some separate contexts maybe
45
+ # TODO @fraggedICE wishes using Rational -- would also allow implementing more examples
46
+ # TODO elegantly get rid of repetitive type checks
47
+ # TODO ? let(:fake_lambda){ ->(*args){fail} }
48
+ # TODO rewrite all Lazy#to_a into Lazy#force (it's not recursive and not documented)
49
+ # TODO maybe make indexes count from 0 not 1
50
+ # TODO merge similar examples
51
+ # TODO deprecate tests that would obviously fail another tests
52
+ # TODO check if we check for ArgumentError without being sure we raise it
53
+ describe MLL do
54
+ describe "List Manipulation" do
55
+ describe "Constructing Lists" do
56
+ describe "#table" do
57
+ describe "Scope:" do
58
+ # TODO: "Make a triangular array:"
59
+ describe "#range" do
60
+ # TODO take from docs more examples that involve other functions
61
+ describe "Rearranging & Restructuring Lists" do
62
+ describe "#riffle" do
63
+ describe "Scope:" do
64
+ example "intersperse two lists" do
65
+ # TODO check how it works for list2.size == list1.size + 1 in Mathematica
66
+ describe "Applying Functions to Lists" do
67
+ describe "#fold_list" do
68
+ describe "Applications:" do
69
+ # TODO maybe move it to README.md
70
+ describe "#map" do
71
+ # TODO we'll need less nested mappings when we implement stop on depths depletion
72
+ describe "Details:" do
73
+ example "levels n1 though n2" do
74
+ expect(map[[1,[2,[3,[4,[5,6]]]]], [2,4], ->(i){ [i] }].
75
+ # TODO smth _<>
76
+ # TODO "Level corresponds to the whole expression"
77
+ # TODO currying "Map[f][expr] is equivalent to Map[f,expr]"
78
+ describe "Scope:" do
79
+ # TODO "Map on all levels, starting at level" ant other about Infinity
80
+ describe "Properties & Relations:" do
81
+ # TODO #mapall
82
+ # TODO #mapthread ?
83
+ # TODO #mapindexed ?
84
+ # TODO "negative levels"
85
+ describe "Elements of Lists" do
86
+ # TODO #rest
87
+ # TODO http://reference.wolfram.com/language/guide/RearrangingAndRestructuringLists.html
88
+ # TODO http://reference.wolfram.com/language/guide/MathematicalAndCountingOperationsOnLists.html
89
+ describe "Functional Programming" do
90
+ describe "Iteratively Applying Functions" do
91
+ # TODO move #nest_list and #fold_list and others here?
92
+ # TODO examples in README.rb
93
+ describe "#nest_while" do
94
+ # TODO examples to README.md
95
+ describe "Details:" do
96
+ # TODO a lot
97
+ describe "Scope:" do
98
+ # TODO "always compare all values generated" do
99
+ # TODO "compare the last two values generated" do
100
+ # TODO "start comparisons after 4 iterations, and compare using the 4 last values" do
101
+ # TODO "start comparisons after 4 iterations, and compare using the 6 last values" do
102
+ # TODO example "stop after at most 4 iterations, even if the test is still true" do
103
+ describe "Generalizations & Extensions:" do
104
+ # TODO "return the last value for which the condition was still true" do
105
+ describe "Applications:" do
106
+ # TODO example "find the next twin prime after 888" do
107
+ describe "Properties & Relations:" do
108
+ # TODO "#nest_while can be expressed in terms of a while loop" do
109
+ describe "Numerical Data" do
110
+ describe "#mean" do
111
+ # TODO examples to README.md
112
+ describe "Grids & Tables" do
113
+ describe "#grid" do
114
+ describe "Details:" do
115
+ # TODO SpanFromLeft SpanFromAbove SpanFromBoth
116
+ # TODO The following options can be given
117
+ # TODO Common settings for Frame
118
+ # TODO The spec(k) can have the following forms
119
+ # TODO With ItemSize->Automatic will break elements across multiple lines
120
+ # TODO "settings can be used for BaselinePosition" do
121
+ describe "Scope:" do
122
+ # TODO Draw all the frames in red
123
+ # TODO Put a frame around the first row and column
124
+ # TODO Draw different frames with different styles
125
+ # TODO Put dividers at all horizontal positions
126
+ # TODO Put dividers at all vertical positions
127
+ # TODO Put dividers at the third horizontal and second vertical positions
128
+ # TODO Make the element 4 span the column to its right
129
+ # TODO Make it span three rows
130
+ # TODO Span throughout a 2×2 block
131
+ # TODO Draw the grid with a pink background
132
+ # TODO Alternating pink and yellow at successive horizontal positions
133
+ # TODO Alternating pink and yellow at successive vertical positions
134
+ # TODO Make the grid contents red
135
+ # TODO "grids can be nested" do
136
+ describe "Options:" do
137
+ # TODO "align elements around the center of the grid" do
138
+ # TODO "align numbers on the decimal point" do
139
+ # TODO draw the grid with a pink background
140
+ # TODO Pink and gray backgrounds for the first and second columns
141
+ # TODO An equivalent syntax
142
+ # TODO Pink and gray backgrounds for the first and second rows
143
+ # TODO Alternating pink and gray backgrounds
144
+ # TODO Alternating backgrounds with yellow superimposed in the first and last positions
145
+ # TODO Set the background for specific items
146
+ # TODO Set the background for a subregion of the grid
147
+ # TODO Draw all interior dividers
148
+ # TODO Draw a divider at every other horizontal position
149
+ # TODO Include the final position
150
+ # TODO Draw dividers with specified styles
151
+ # TODO "frame specific elements" do
152
+ # TODO "frame a region" do
153
+ # TODO "make each item a fixed number of character-widths wide" do
154
+ # TODO "ItemSize->All makes all items the same size" do
155
+ # TODO "prevent line-wrapping" do
156
+ # TODO "set one overall style for grid items" do
157
+ # TODO "style specific elements" do
158
+ # TODO "style a region" do
159
+ # TODO "insert no additional space between rows or columns" do
160
+ # TODO "specify spacing with numeric values" do
161
+ # TODO "use different spacings at the first vertical divider" do
162
+ describe "Properties & Relations:" do
163
+ # TODO "the elements of a Grid can be extracted with #[]" do
164
+ describe "Neat examples:" do
165
+ # TODO "a Sudoku grid" do
166
+ # TODO http://reference.wolfram.com/language/guide/HandlingArraysOfData.html
167
+ # TODO http://reference.wolfram.com/language/guide/ComputationWithStructuredDatasets.html
168
+ ```
169
+
@@ -4,4 +4,7 @@ class Array
4
4
  def most
5
5
  MLL::most[self]
6
6
  end
7
+ def rest
8
+ MLL::rest[self]
9
+ end
7
10
  end
data/lib/mll.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  module MLL
2
2
 
3
- VERSION = "2.4.1"
3
+ VERSION = "2.5.0"
4
4
 
5
5
  class << self
6
6
 
@@ -212,6 +212,19 @@ module MLL
212
212
  end
213
213
  end
214
214
 
215
+ def rest
216
+ lambda do |list|
217
+ Enumerator.new do |e|
218
+ begin
219
+ enum = list.to_enum.tap &:next
220
+ loop{ e << enum.next }
221
+ rescue StopIteration
222
+ next
223
+ end
224
+ end
225
+ end
226
+ end
227
+
215
228
  end
216
229
 
217
230
  def self.define_listable_function name, &block
@@ -13,7 +13,7 @@ Gem::Specification.new do |spec|
13
13
  spec.test_files = ["spec/"]
14
14
  # spec.require_paths = ["lib"]
15
15
 
16
- spec.add_development_dependency "bundler", "~> 1.7.0"
16
+ spec.add_development_dependency "bundler", "~> 1.12.0"
17
17
  # spec.add_development_dependency "rake", "~> 10.0"
18
18
  spec.add_development_dependency "rspec", "~> 3.3.0"
19
19
 
@@ -822,7 +822,37 @@ describe MLL do
822
822
 
823
823
  end
824
824
 
825
- # TODO #rest
825
+ # https://reference.wolfram.com/language/ref/Rest.html
826
+ describe "#rest" do
827
+
828
+ describe "Basic Examples:" do
829
+
830
+ example "???" do
831
+ expect(rest[[1,2,3,4]]).to be_a Enumerator
832
+ expect(rest[[1,2,3,4]].to_a).to eq [2,3,4]
833
+ end
834
+
835
+ end
836
+
837
+ describe "Applications:" do
838
+
839
+ example "nest the operation of finding the rest of a list" do
840
+ expect(nest_list[[1,2,3,4,5], 3, rest]).to be_a Enumerator
841
+ expect(nest_list[[1,2,3,4,5], 3, rest].map(&:to_a)).to eq [[1,2,3,4,5], [2,3,4,5], [3,4,5], [4,5]]
842
+ end
843
+
844
+ end
845
+
846
+ describe "Properties & Relations:" do
847
+
848
+ example "#rest is equivalent to Array#drop(1)" do
849
+ expect(rest[[1,2,3,4]]).to be_a Enumerator
850
+ expect(rest[[1,2,3,4]].to_a).to eq [1,2,3,4].drop 1
851
+ end
852
+
853
+ end
854
+
855
+ end
826
856
 
827
857
  # https://reference.wolfram.com/language/ref/Dimensions.html
828
858
  describe "#dimensions" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mll
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.1
4
+ version: 2.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Victor Maslov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-07 00:00:00.000000000 Z
11
+ date: 2016-06-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ~>
18
18
  - !ruby/object:Gem::Version
19
- version: 1.7.0
19
+ version: 1.12.0
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ~>
25
25
  - !ruby/object:Gem::Version
26
- version: 1.7.0
26
+ version: 1.12.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rspec
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -51,6 +51,7 @@ files:
51
51
  - Gemfile.lock
52
52
  - README.md
53
53
  - Rakefile
54
+ - TODO.md
54
55
  - core_ext.rb
55
56
  - lib/mll.rb
56
57
  - mll.gemspec