reapack-index 1.1beta1 → 1.1beta3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 74ff4d70819b98251948bbe5a7e7767e7b9e3b0c
4
- data.tar.gz: 1887659545c7d20019c17e740a1aaa48f078ae6f
3
+ metadata.gz: 8fe0c0ad52b4938c414bacfff63b2981614c2df2
4
+ data.tar.gz: 4c799d2fd3f4d7823bad7ac142cc08146c029c60
5
5
  SHA512:
6
- metadata.gz: 1f47b75ad09e4f08962a52b6ea2ac13e94778086fd7107d9fe550d48516e19553417ddbf281796143c83d64a78c5afa198375abba74419fd30ecf749b638c341
7
- data.tar.gz: 11f2b3596583affdc178428867a03a8bf094ae2701c84f2db4cca1d96d6bad479dda5adc6a368df7d1e31b8841efced68cfa16fa420524616951e89bcdea5e82
6
+ metadata.gz: 8c0f24e952b9c836e5db6172928bcd5366f60dba50388fee7d54bd6159b9b3afcbf8c954af8613235a99b463a339a7d561fca7928930dbcab2d7b8649eb7eb53
7
+ data.tar.gz: 84acc8f432d45f95d51053c05e2a0233ea4b961e933c2c849cdb471e11f8b93c60d68ebbc86b0624d80547beefaccc85a34941cdddb0e52964c7ea24a63d1afa
data/README.md CHANGED
@@ -29,7 +29,7 @@ reapack-index [options] [path-to-your-repository]
29
29
  ```
30
30
  Modes:
31
31
  -c, --check Test every package including uncommited changes and exit
32
- -s, --scan [COMMIT] Scan new commits (default) or specific commits
32
+ -s, --scan [FILE|COMMIT] Scan new commits (default), a file or a commit
33
33
  --rebuild Clear the index and rescan the whole git history
34
34
  Indexer options:
35
35
  -a, --[no-]amend Reindex existing versions
data/lib/reapack/index.rb CHANGED
@@ -43,6 +43,7 @@ class ReaPack::Index
43
43
 
44
44
  attr_reader :path, :url_template, :cdetector
45
45
  attr_accessor :amend, :commit, :files, :time, :strict
46
+ attr_accessor :auto_bump_commit
46
47
 
47
48
  class << self
48
49
  def is_type?(input)
@@ -73,6 +74,7 @@ class ReaPack::Index
73
74
  @changed_nodes = []
74
75
  @files = []
75
76
  @path = path
77
+ @auto_bump_commit = true
76
78
 
77
79
  @cdetector = ConflictDetector.new
78
80
 
@@ -146,7 +148,7 @@ class ReaPack::Index
146
148
  end
147
149
  }
148
150
 
149
- bump_commit
151
+ bump_commit if @auto_bump_commit
150
152
  end
151
153
 
152
154
  def remove(path)
@@ -158,7 +160,7 @@ class ReaPack::Index
158
160
  pkg.remove
159
161
  cat.remove if cat.empty?
160
162
 
161
- bump_commit
163
+ bump_commit if @auto_bump_commit
162
164
  log_change 'removed package'
163
165
  end
164
166
 
@@ -84,9 +84,15 @@ private
84
84
  elsif @opts[:scan].empty?
85
85
  @git.commits_since @index.last_commit
86
86
  else
87
+ @index.auto_bump_commit = false
88
+
87
89
  @opts[:scan].map {|hash|
88
- @git.get_commit hash or begin
89
- $stderr.puts '--scan: bad revision: %s' % @opts[:scan]
90
+ if c = @git.last_commit_for(hash)
91
+ [c, hash]
92
+ elsif c = @git.get_commit(hash)
93
+ c
94
+ else
95
+ $stderr.puts "--scan: bad file or revision: '%s'" % @opts[:scan]
90
96
  @exit = false
91
97
  nil
92
98
  end
@@ -95,12 +101,12 @@ private
95
101
 
96
102
  unless commits.empty?
97
103
  progress_wrapper commits.size do
98
- commits.each {|commit| process_commit commit }
104
+ commits.each {|args| process_commit *args }
99
105
  end
100
106
  end
101
107
  end
102
108
 
103
- def process_commit(commit)
109
+ def process_commit(commit, file = nil)
104
110
  if @opts[:verbose]
105
111
  log 'processing %s: %s' % [commit.short_id, commit.summary]
106
112
  end
@@ -111,7 +117,8 @@ private
111
117
 
112
118
  commit.each_diff
113
119
  .select {|diff|
114
- (not ignored? expand_path(diff.file)) &&
120
+ (file.nil? || diff.file == file) &&
121
+ (not ignored? expand_path(diff.file)) &&
115
122
  ReaPack::Index.type_of(diff.file)
116
123
  }
117
124
  .sort_by {|diff|
@@ -54,7 +54,7 @@ class ReaPack::Index::CLI
54
54
  opts[:check] = true
55
55
  end
56
56
 
57
- op.on '-s', '--scan [COMMIT]', 'Scan new commits (default) or specific commits' do |commit|
57
+ op.on '-s', '--scan [FILE|COMMIT]', 'Scan new commits (default), a file or a commit' do |commit|
58
58
  opts[:check] = opts[:rebuild] = false
59
59
  opts[:scan] ||= []
60
60
 
@@ -1,5 +1,5 @@
1
1
  module ReaPack
2
2
  class Index
3
- VERSION = '1.1beta1'
3
+ VERSION = '1.1beta3'
4
4
  end
5
5
  end
@@ -13,7 +13,7 @@ class ReaPack::Index
13
13
  end
14
14
 
15
15
  def commits
16
- commits_since nil
16
+ @commits ||= commits_since nil
17
17
  end
18
18
 
19
19
  def commits_since(sha)
@@ -38,6 +38,12 @@ class ReaPack::Index
38
38
  Commit.new c, @repo if c
39
39
  end
40
40
 
41
+ def last_commit_for(file)
42
+ commits.reverse_each.find {|c|
43
+ c.each_diff.any? {|d| d.file == file }
44
+ }
45
+ end
46
+
41
47
  def guess_url_template
42
48
  remote = @repo.remotes['origin']
43
49
  return unless remote
@@ -77,7 +83,7 @@ class ReaPack::Index
77
83
  end
78
84
  }
79
85
 
80
- c = Rugged::Commit.create @repo, \
86
+ hash = Rugged::Commit.create @repo, \
81
87
  tree: new_index.write_tree(@repo),
82
88
  message: message,
83
89
  parents: [target].compact,
@@ -88,7 +94,9 @@ class ReaPack::Index
88
94
  # force-reload the repository
89
95
  @repo = Rugged::Repository.discover path
90
96
 
91
- get_commit c
97
+ commit = get_commit hash
98
+ @commits << commit if @commits
99
+ commit
92
100
  end
93
101
 
94
102
  private
@@ -108,8 +116,8 @@ class ReaPack::Index
108
116
  @parent = commit.parents.first
109
117
  end
110
118
 
111
- def each_diff
112
- return enum_for :each_diff unless block_given?
119
+ def each_diff(&block)
120
+ return @diffs.each &block if @diffs
113
121
 
114
122
  if @parent
115
123
  diff = @parent.diff id
@@ -117,7 +125,8 @@ class ReaPack::Index
117
125
  diff = @commit.diff
118
126
  end
119
127
 
120
- diff.each_delta {|delta| yield Git::Diff.new(delta, @parent.nil?, @repo) }
128
+ @diffs ||= diff.each_delta.map {|delta| Git::Diff.new(delta, @parent.nil?, @repo) }
129
+ @diffs.each &block
121
130
  end
122
131
 
123
132
  def id
@@ -145,7 +154,11 @@ class ReaPack::Index
145
154
  end
146
155
 
147
156
  def ==(o)
148
- id == o.id
157
+ o && id == o.id
158
+ end
159
+
160
+ def inspect
161
+ "#<#{self.class} #{id} #{message}>"
149
162
  end
150
163
 
151
164
  private
@@ -165,7 +165,7 @@ class ReaPack::Index
165
165
  # the first type will be the default one
166
166
  VALID_TYPES = [:website, :screenshot, :donation].freeze
167
167
 
168
- LINK_REGEX = /\A(.+?)(?:\s|=)(\w+?:\/\/.+)\Z/.freeze
168
+ LINK_REGEX = /\A(.+?)(?:\s+|=)(\w+?:\/\/.+)\Z/.freeze
169
169
 
170
170
  def self.split(input)
171
171
  if input =~ LINK_REGEX
@@ -73,6 +73,17 @@ class ReaPack::Index
73
73
  if has_version? name
74
74
  ver = @versions[name]
75
75
  else
76
+ @versions.each_key {|other|
77
+ normalized = [other.dup, name.dup].each {|ver|
78
+ ver.gsub! /(?<![\d\w])0+/, ''
79
+ ver.gsub! /[^\d\w]+/, '.'
80
+ }
81
+
82
+ if normalized.uniq.size < 2
83
+ raise Error, "version #{name} is a duplicate of version #{other}"
84
+ end
85
+ }
86
+
76
87
  ver = @versions[name] = Version.create name, @node
77
88
  end
78
89
 
@@ -8,6 +8,7 @@ class WordpressChangelog < MetaHeader::Parser
8
8
  VERSION = /\A[\s\*]*v([\d\.]+)(?:\s+(.+))?\Z/.freeze
9
9
 
10
10
  def parse(input)
11
+ input = input.read
11
12
  input.encode! Encoding::UTF_8, invalid: :replace
12
13
 
13
14
  ver, changes = header[:version], header[:changelog]
@@ -14,7 +14,7 @@ class ReaPack::Index
14
14
  class << self
15
15
  def parse_each(input)
16
16
  if block_given?
17
- input.to_s.lines.map {|line| yield parse(line) }
17
+ input.to_s.lines.map {|line| i = parse(line) and yield i }
18
18
  else
19
19
  enum_for :parse_each, input
20
20
  end
@@ -22,6 +22,8 @@ class ReaPack::Index
22
22
 
23
23
  def parse(line)
24
24
  m = line.strip.match PROVIDES_REGEX
25
+ return unless m
26
+
25
27
  options, pattern, url_tpl = m[:options], m[:file], m[:url]
26
28
 
27
29
  instance = self.new pattern, url_tpl
@@ -21,22 +21,25 @@ class ReaPack::Index
21
21
  'segment overflow (%d > %d)' % [s, VERSION_SEGMENT_MAX] if s
22
22
  }
23
23
  ],
24
- description: SIMPLE_TAG,
25
24
  about: MetaHeader::VALUE,
26
- website: MetaHeader::VALUE,
27
- screenshot: MetaHeader::VALUE,
25
+ description: SIMPLE_TAG,
28
26
  donation: MetaHeader::VALUE,
27
+ link: MetaHeader::VALUE,
28
+ noindex: MetaHeader::BOOLEAN,
29
+ screenshot: MetaHeader::VALUE,
29
30
 
30
31
  # version-specific tags
31
32
  author: SIMPLE_TAG,
32
33
  changelog: MetaHeader::VALUE,
33
- provides: [MetaHeader::VALUE, PROVIDES_VALIDATOR],
34
- noindex: MetaHeader::BOOLEAN,
35
34
  metapackage: MetaHeader::BOOLEAN,
35
+ provides: [MetaHeader::VALUE, PROVIDES_VALIDATOR],
36
36
  }.freeze
37
37
 
38
38
  HEADER_ALIASES = {
39
- [:reascript_name, :desc] => :description,
39
+ [:reascript_name, :jsfx_name, :theme_name,
40
+ :extension_name, :desc] => :description,
41
+ :links => :link,
42
+ :screenshots => :screenshot,
40
43
  }.freeze
41
44
 
42
45
  META_TYPES = [:extension, :data, :theme].freeze
@@ -56,7 +59,7 @@ class ReaPack::Index
56
59
  @pkg.description = @mh[:description]
57
60
  @pkg.metadata.about = @mh[:about]
58
61
 
59
- eval_links :website
62
+ eval_links :website, tag: :link
60
63
  eval_links :screenshot
61
64
  eval_links :donation
62
65
 
@@ -152,11 +155,13 @@ class ReaPack::Index
152
155
  }.flatten
153
156
  end
154
157
 
155
- def eval_links(type)
158
+ def eval_links(type, tag: nil)
159
+ tag ||= type
160
+
156
161
  @pkg.metadata.replace_links type do
157
- @mh[type].to_s.lines {|l|
158
- l.chomp!
159
- @pkg.metadata.push_link type, *Link.split(l)
162
+ @mh[tag].to_s.lines {|line|
163
+ line.strip!
164
+ @pkg.metadata.push_link type, *Link.split(line) unless line.empty?
160
165
  }
161
166
  end
162
167
  end
@@ -29,7 +29,7 @@ Gem::Specification.new do |spec|
29
29
  spec.add_runtime_dependency 'addressable', '~> 2.4'
30
30
  spec.add_runtime_dependency 'colorize', '~> 0.7'
31
31
  spec.add_runtime_dependency 'gitable', '~> 0.3'
32
- spec.add_runtime_dependency 'metaheader', '~> 1.3beta1'
32
+ spec.add_runtime_dependency 'metaheader', '~> 1.3beta2'
33
33
  spec.add_runtime_dependency 'nokogiri', '~> 1.6.8'
34
34
  spec.add_runtime_dependency 'pandoc-ruby', '~> 2.0'
35
35
  spec.add_runtime_dependency 'rugged', '~> 0.24'
@@ -2,11 +2,11 @@
2
2
  !include Sections.nsh
3
3
  !include StrRep.nsh
4
4
 
5
- !define VERSION "1.1beta1"
5
+ !define VERSION "1.1beta3"
6
6
  !define NAME "ReaPack Index ${VERSION}"
7
7
  !define LONG_VERSION "0.1.0.0"
8
8
 
9
- !define RUBY_VERSION "2.3.0"
9
+ !define RUBY_VERSION "2.3.1"
10
10
  !define RUBYINSTALLER_FILE "rubyinstaller-${RUBY_VERSION}.exe"
11
11
  !define RUBYINSTALLER_URL \
12
12
  "http://dl.bintray.com/oneclick/rubyinstaller/${RUBYINSTALLER_FILE}"
@@ -316,6 +316,50 @@ processing [a-f0-9]{7}: third commit
316
316
  refute_match 'test1.lua', read_index, 'The initial commit was scanned'
317
317
  assert_match 'test2.lua', read_index
318
318
  assert_match 'test3.lua', read_index
319
+ assert_match @git.last_commit.id, read_index
320
+ end
321
+ end
322
+
323
+ def test_manual_disable_commit_bump
324
+ options = ['--scan', nil]
325
+
326
+ setup = proc {
327
+ @git.create_commit 'initial commit',
328
+ [mkfile('cat/test1.lua', '@version 2.0')]
329
+ options[1] = @git.last_commit.id
330
+ }
331
+
332
+ wrapper options, setup: setup do
333
+ capture_io { assert_equal true, @cli.run }
334
+
335
+ assert_equal false, @cli.index.auto_bump_commit
336
+ refute_match %Q[commit="#{options[1]}"], read_index
337
+ end
338
+ end
339
+
340
+ def test_scan_file
341
+ options = [ '--scan', 'cat/test1.lua']
342
+
343
+ setup = proc {
344
+ @git.create_commit 'initial commit',
345
+ [mkfile('cat/test1.lua', '@version 1')]
346
+
347
+ @git.create_commit 'second commit', [
348
+ mkfile('cat/test1.lua', '@version 2'),
349
+ mkfile('cat/test2.lua', '@version 2.2'),
350
+ ]
351
+
352
+ @git.create_commit 'third commit',
353
+ [mkfile('cat/test3.lua', '@version 3')]
354
+ }
355
+
356
+ wrapper options, setup: setup do
357
+ capture_io { assert_equal true, @cli.run }
358
+
359
+ refute_match 'version name="1"', read_index, 'The initial commit was scanned'
360
+ assert_match 'version name="2"', read_index
361
+ refute_match 'test2.lua', read_index, 'test2.lua was indexed'
362
+ refute_match 'test3.lua', read_index, 'The third commit was scanned'
319
363
  end
320
364
  end
321
365
 
@@ -358,7 +402,7 @@ processing [a-f0-9]{7}: third commit
358
402
  wrapper ['--scan', hash] do
359
403
  @git.create_commit 'initial commit', [mkfile('README.md')]
360
404
 
361
- assert_output nil, /--scan: bad revision: #{Regexp.escape hash}/i do
405
+ assert_output nil, /--scan: bad file or revision: '#{Regexp.escape hash}'/i do
362
406
  assert_equal false, @cli.run
363
407
  end
364
408
  end
@@ -92,6 +92,26 @@ class TestIndex::Scan < MiniTest::Test
92
92
  refute_match '<category', contents
93
93
  end
94
94
 
95
+ def test_auto_bump_commit_enabled
96
+ index = ReaPack::Index.new @real_path
97
+ index.commit = @commit
98
+
99
+ assert_equal true, index.auto_bump_commit
100
+ refute_equal @commit, index.last_commit
101
+
102
+ index.scan 'Category Name/Hello World.lua', '@version 1.0'
103
+ assert_equal @commit, index.last_commit
104
+ end
105
+
106
+ def test_auto_bump_commit_disabled
107
+ index = ReaPack::Index.new @real_path
108
+ index.commit = @commit
109
+ index.auto_bump_commit = false
110
+
111
+ index.scan 'Category Name/Hello World.lua', '@version 1.0'
112
+ refute_equal @commit, index.last_commit
113
+ end
114
+
95
115
  def test_strict_mode
96
116
  index = ReaPack::Index.new @dummy_path
97
117
  index.strict = true
@@ -112,6 +112,12 @@ class TestScanner::TestValidation < MiniTest::Test
112
112
  assert_equal "missing value for tag 'about'", error.message
113
113
  end
114
114
 
115
+ def test_links
116
+ @mh[:links] = true
117
+ error = assert_raises(ReaPack::Index::Error) { @scanner.run }
118
+ assert_equal "missing value for tag 'links'", error.message
119
+ end
120
+
115
121
  def test_screenshot
116
122
  @mh[:screenshot] = true
117
123
  error = assert_raises(ReaPack::Index::Error) { @scanner.run }
data/test/test_git.rb CHANGED
@@ -129,6 +129,16 @@ class TestGit < MiniTest::Test
129
129
  }
130
130
  end
131
131
 
132
+ def test_last_commit_for_file
133
+ c1 = @git.create_commit 'first commit', [mkfile('hello/world')]
134
+ c2 = @git.create_commit 'second commit', [mkfile('hello/world', 'modified')]
135
+ c3 = @git.create_commit 'third commit', [mkfile('chunky/bacon')]
136
+
137
+ assert_equal c2, @git.last_commit_for('hello/world')
138
+ assert_equal c3, @git.last_commit_for('chunky/bacon')
139
+ assert_nil @git.last_commit_for('foo/bar')
140
+ end
141
+
132
142
  def test_multibyte_filename
133
143
  filename = "\342\200\224.lua"
134
144
 
@@ -152,4 +162,11 @@ class TestGit < MiniTest::Test
152
162
  git = ReaPack::Index::Git.new path # should not throw
153
163
  assert_equal @git.path, git.path
154
164
  end
165
+
166
+ def test_inspect_commit
167
+ c = @git.create_commit 'message', []
168
+ assert_match c.class.name, c.inspect
169
+ assert_match c.id, c.inspect
170
+ assert_match c.message, c.inspect
171
+ end
155
172
  end
data/test/test_index.rb CHANGED
@@ -175,6 +175,7 @@ class TestIndex < MiniTest::Test
175
175
  index.write @dummy_path
176
176
  contents = File.read @dummy_path
177
177
 
178
+ assert_equal @commit, index.last_commit
178
179
  assert_match @commit, contents
179
180
  refute_match '<category', contents
180
181
  end
@@ -157,6 +157,9 @@ class TestMetadata < MiniTest::Test
157
157
 
158
158
  assert_equal ['Hello World', 'http://perdu.com/a=b'],
159
159
  ReaPack::Index::Link.split('Hello World http://perdu.com/a=b')
160
+
161
+ assert_equal ['Hello World', 'http://perdu.com/a=b'],
162
+ ReaPack::Index::Link.split('Hello World http://perdu.com/a=b')
160
163
  end
161
164
 
162
165
  def test_invalid_link
data/test/test_package.rb CHANGED
@@ -95,7 +95,7 @@ class TestPackage < MiniTest::Test
95
95
  assert_equal '1.0', versions.first.name
96
96
  end
97
97
 
98
- def test_get_or_create_version
98
+ def test_new_version
99
99
  before = make_node <<-XML
100
100
  <reapack name="pkg" type="script">
101
101
  <version name="1.0" />
@@ -120,6 +120,23 @@ class TestPackage < MiniTest::Test
120
120
  assert pkg.has_version?('1.1'), 'version 1.1 not found'
121
121
  end
122
122
 
123
+ def test_new_version_similar
124
+ before = make_node '<reapack name="pkg" type="script"/>'
125
+
126
+ pkg = ReaPack::Index::Package.new before
127
+ pkg.version '1.01'
128
+
129
+ error = assert_raises ReaPack::Index::Error do
130
+ pkg.version '1.1'
131
+ end
132
+ assert_equal 'version 1.1 is a duplicate of version 1.01', error.message
133
+
134
+ error = assert_raises ReaPack::Index::Error do
135
+ pkg.version '1//1'
136
+ end
137
+ assert_equal 'version 1//1 is a duplicate of version 1.01', error.message
138
+ end
139
+
123
140
  def test_category_and_path
124
141
  pkg1 = ReaPack::Index::Package.new make_node('<reapack/>')
125
142
  assert_nil pkg1.category
data/test/test_parsers.rb CHANGED
@@ -23,13 +23,34 @@ class TestParsers < MiniTest::Test
23
23
  Test\x97
24
24
  IN
25
25
 
26
- changelog = <<-LOG
27
- + Line 3
28
- + Line 4
29
- LOG
26
+ assert_equal '1.1', mh[:version]
27
+ assert_equal "+ Line 3\n+ Line 4", mh[:changelog]
28
+ end
29
+
30
+ def test_wordpress_no_date
31
+ mh = MetaHeader.new <<-IN
32
+ /**
33
+ * Version: 1.1
34
+ */
35
+
36
+ /**
37
+ * Changelog:
38
+ * v1.2
39
+ \t+ Line 1
40
+ \t+ Line 2
41
+ * v1.1
42
+ \t+ Line 3
43
+ \t+ Line 4
44
+ * v1.0
45
+ \t+ Line 5
46
+ \t+ Line 6
47
+ */
48
+
49
+ Test\x97
50
+ IN
30
51
 
31
52
  assert_equal '1.1', mh[:version]
32
- assert_equal changelog.chomp, mh[:changelog]
53
+ assert_equal "+ Line 3\n+ Line 4", mh[:changelog]
33
54
  end
34
55
 
35
56
  def test_wordpress_noprefix
@@ -55,12 +76,7 @@ v1.0 (2012-01-01)
55
76
  Test\x97
56
77
  IN
57
78
 
58
- changelog = <<-LOG
59
- + Line 3
60
- + Line 4
61
- LOG
62
-
63
79
  assert_equal '1.1', mh[:version]
64
- assert_equal changelog.chomp, mh[:changelog]
80
+ assert_equal "+ Line 3\n+ Line 4", mh[:changelog]
65
81
  end
66
82
  end
@@ -76,4 +76,9 @@ class TestProvides < MiniTest::Test
76
76
  end.message
77
77
  }
78
78
  end
79
+
80
+ def test_empty_line
81
+ assert_nil ReaPack::Index::Provides.parse(String.new)
82
+ assert_equal 2, ReaPack::Index::Provides.parse_each("a\n\nb").to_a.size
83
+ end
79
84
  end
data/test/test_scanner.rb CHANGED
@@ -124,7 +124,7 @@ class TestScanner < MiniTest::Test
124
124
  end
125
125
 
126
126
  def test_website_links
127
- @mh[:website] = [
127
+ @mh[:links] = [
128
128
  'http://cfillion.tk',
129
129
  'Label http://cfillion.tk',
130
130
  ].join "\n"
@@ -140,6 +140,7 @@ class TestScanner < MiniTest::Test
140
140
  def test_screenshot_links
141
141
  @mh[:screenshot] = [
142
142
  'http://i.imgur.com/1.png',
143
+ '',
143
144
  'Label http://i.imgur.com/2.png',
144
145
  ].join "\n"
145
146
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: reapack-index
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1beta1
4
+ version: 1.1beta3
5
5
  platform: ruby
6
6
  authors:
7
7
  - cfillion
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-07-12 00:00:00.000000000 Z
11
+ date: 2016-07-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -128,14 +128,14 @@ dependencies:
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: 1.3beta1
131
+ version: 1.3beta2
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: 1.3beta1
138
+ version: 1.3beta2
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: nokogiri
141
141
  requirement: !ruby/object:Gem::Requirement
@@ -296,4 +296,3 @@ test_files:
296
296
  - test/test_scanner.rb
297
297
  - test/test_source.rb
298
298
  - test/test_version.rb
299
- has_rdoc: