xembly 0.4.2 → 0.4.3

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
- SHA1:
3
- metadata.gz: 6f023a77c3eafd5c14209b1ecdfe52a0beb9d467
4
- data.tar.gz: dd79f3a64463a63e27e70a0ff6e0ab59d8702609
2
+ SHA256:
3
+ metadata.gz: 50574558c2dfaf0e8f4f38ba6934363b95a63775f8f5a9971b4691914c65d360
4
+ data.tar.gz: a80c257490c72f5d3eb47d104eb10f51b9a8698b05d8779d49fa5a4abf0de762
5
5
  SHA512:
6
- metadata.gz: 0b07c1a59c84b1a68db7b983baf62a2e0df51fc557725b4e7aceec123b1de2658062bc79e76e5bc3271d0f257239c9e04820dfd2c7a74e510ad6310ca1ff21fa
7
- data.tar.gz: 6579da7b021d569cb5e110675763fbd8980cb36f2980f49e86d42e47d404a4232723a79cfa4bb6fa97f127eb410e027bb122199ade26e360fcf2084b1174fcb4
6
+ metadata.gz: 420cf03c5e9a327723fba2830c48902141c483fa5cee8b05b30872d20594399cb09a13291cfb5a01c61be566ae515f4d07812066cabe7de2513f4ad08dee1104
7
+ data.tar.gz: 4fd96da7e88af05d4b7e2ed9da0c959510105bd3c6af481d7d7f6ed18b11dcf123cbcb821b946750607dde6ae5ee4576807dcdef7a03ee361d4e8eec68890db7
data/.0pdd.yml ADDED
@@ -0,0 +1,9 @@
1
+ errors:
2
+ - yegor256@gmail.com
3
+ # alerts:
4
+ # github:
5
+ # - yegor256
6
+
7
+ tags:
8
+ - pdd
9
+ - bug
@@ -0,0 +1,12 @@
1
+ Make sure the title of the issue explains the problem you are having. Also, the description of the issue must clearly explain what is broken, not what you want us to implement. Go through this checklist and make sure you answer "YES" to all points:
2
+
3
+ - You have all pre-requisites listed in README.md installed
4
+ - You are sure that you are not reporting a duplicate (search all issues)
5
+ - You say "is broken" or "doesn't work" in the title
6
+ - You tell us what you are trying to do
7
+ - You explain the results you are getting
8
+ - You suggest an alternative result you would like to see
9
+
10
+ This article will help you understand what we are looking for: http://www.yegor256.com/2014/11/24/principles-of-bug-tracking.html
11
+
12
+ Thank you for your contribution!
@@ -0,0 +1,11 @@
1
+ Many thanks for your contribution, we truly appreciate it. We will appreciate it even more, if you make sure that you can say "YES" to each point in this short checklist:
2
+
3
+ - You made a small amount of changes (less than 100 lines, less than 10 files)
4
+ - You made changes related to only one bug (create separate PRs for separate problems)
5
+ - You are ready to defend your changes (there will be a code review)
6
+ - You don't touch what you don't understand
7
+ - You ran the build locally and it passed
8
+
9
+ This article will help you understand what we are looking for: http://www.yegor256.com/2015/02/09/serious-code-reviewer.html
10
+
11
+ Thank you for your contribution!
data/.pdd ADDED
@@ -0,0 +1,7 @@
1
+ --source=.
2
+ --verbose
3
+ --exclude target/**/*
4
+ --exclude src/main/resources/images/**/*
5
+ --rule min-words:20
6
+ --rule min-estimate:15
7
+ --rule max-estimate:90
data/.rubocop.yml CHANGED
@@ -1,6 +1,17 @@
1
+ AllCops:
2
+ NewCops: enable
3
+ Exclude:
4
+ - 'assets/**/*'
5
+ DisplayCopNames: true
6
+ TargetRubyVersion: '2.5'
7
+
1
8
  MethodLength:
2
9
  Max: 50
3
10
  Style/ClassLength:
4
11
  Max: 150
5
12
  Style/CyclomaticComplexity:
6
13
  Max: 20
14
+ Metrics/BlockLength:
15
+ Max: 30
16
+ Metrics/AbcSize:
17
+ Max: 30
data/.rultor.yml CHANGED
@@ -1,28 +1,21 @@
1
1
  assets:
2
2
  rubygems.yml: yegor256/home#assets/rubygems.yml
3
- s3cfg: yegor256/home#assets/s3cfg
4
3
  install: |
5
- sudo apt-get update
6
- sudo gem install pdd
4
+ pdd -f /dev/null
5
+ sudo bundle install --no-color "--gemfile=$(pwd)/Gemfile"
7
6
  release:
8
7
  script: |-
9
- sudo bundle install
10
- rake
11
- rm -rf *.gem
8
+ bundle exec rake clean test rubocop copyright
12
9
  sed -i "s/1\.0\.snapshot/${tag}/g" lib/xembly/version.rb
13
10
  git add lib/xembly/version.rb
14
11
  git commit -m "version set to ${tag}"
15
12
  gem build xembly.gemspec
16
13
  chmod 0600 ../rubygems.yml
17
14
  gem push *.gem --config-file ../rubygems.yml
18
- sudo gem install xembly
19
- pdd --source=$(pwd) --verbose --file=xembly-gem.xml -e=test/** -e=features/** -e=README.md
20
- s3cmd --no-progress put xembly-gem.xml --config=../s3cfg s3://pdd.teamed.io/xembly-gem.xml
21
- commanders:
22
- - yegor256
23
- architect:
24
- - yegor256
25
- - davvd
26
15
  merge:
27
- commanders: []
28
- deploy: {}
16
+ script: |-
17
+ bundle exec rake clean test rubocop copyright
18
+ deploy:
19
+ script: |-
20
+ echo "There is nothing to deploy"
21
+ exit -1
data/.simplecov CHANGED
@@ -1,6 +1,7 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
+
2
3
  #
3
- # Copyright (c) 2016 Yegor Bugayenko
4
+ # Copyright (c) 2016-2021 Yegor Bugayenko
4
5
  #
5
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
7
  # of this software and associated documentation files (the 'Software'), to deal
@@ -22,13 +23,13 @@
22
23
 
23
24
  require 'coveralls'
24
25
 
25
- if Gem.win_platform? then
26
+ if Gem.win_platform?
26
27
  SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
27
28
  SimpleCov::Formatter::HTMLFormatter
28
29
  ]
29
30
  SimpleCov.start do
30
- add_filter "/test/"
31
- add_filter "/features/"
31
+ add_filter '/test/'
32
+ add_filter '/features/'
32
33
  end
33
34
  else
34
35
  SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new [
@@ -36,8 +37,8 @@ else
36
37
  Coveralls::SimpleCov::Formatter
37
38
  ]
38
39
  SimpleCov.start do
39
- add_filter "/test/"
40
- add_filter "/features/"
40
+ add_filter '/test/'
41
+ add_filter '/features/'
41
42
  minimum_coverage 90
42
43
  end
43
44
  end
data/.travis.yml CHANGED
@@ -1,12 +1,15 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.0.0
3
+ - 2.6.0
4
4
  cache: bundler
5
5
  branches:
6
6
  only:
7
7
  - master
8
8
  install:
9
+ - gem install pdd -v 0.20.5
9
10
  - travis_retry bundle update
10
11
  script:
11
- - rake
12
-
12
+ - pdd -f /dev/null
13
+ - bundle exec rake
14
+ after_success:
15
+ - "bash <(curl -s https://codecov.io/bash)"
data/Gemfile CHANGED
@@ -1,6 +1,7 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
+
2
3
  #
3
- # Copyright (c) 2016 Yegor Bugayenko
4
+ # Copyright (c) 2016-2021 Yegor Bugayenko
4
5
  #
5
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
7
  # of this software and associated documentation files (the 'Software'), to deal
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  (The MIT License)
2
2
 
3
- Copyright (c) 2016 Yegor Bugayenko
3
+ Copyright (c) 2016-2021 Yegor Bugayenko
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the 'Software'), to deal
data/README.md CHANGED
@@ -1,37 +1,33 @@
1
- [![Made By Teamed.io](http://img.teamed.io/btn.svg)](http://www.teamed.io)
1
+ <img src="http://www.xembly.org/logo.png" width="64px" height="64px" />
2
+
3
+ [![Managed by Zerocracy](http://www.zerocracy.com/badge.svg)](http://www.zerocracy.com)
2
4
  [![DevOps By Rultor.com](http://www.rultor.com/b/yegor256/xembly-gem)](http://www.rultor.com/p/yegor256/xembly-gem)
3
- [![We recommend RubyMine](http://img.teamed.io/rubymine-recommend.svg)](https://www.jetbrains.com/ruby/)
5
+ [![We recommend RubyMine](https://www.elegantobjects.org/rubymine.svg)](https://www.jetbrains.com/ruby/)
4
6
 
5
7
  [![Build Status](https://travis-ci.org/yegor256/xembly-gem.svg)](https://travis-ci.org/yegor256/xembly-gem)
6
8
  [![Build status](https://ci.appveyor.com/api/projects/status/8e5dsjjemymfg510?svg=true)](https://ci.appveyor.com/project/yegor256/xembly-gem)
7
9
  [![Gem Version](https://badge.fury.io/rb/xembly.svg)](http://badge.fury.io/rb/xembly)
8
- [![Dependency Status](https://gemnasium.com/yegor256/xembly-gem.svg)](https://gemnasium.com/yegor256/xembly-gem)
9
- [![Code Climate](http://img.shields.io/codeclimate/github/yegor256/xembly-gem.svg)](https://codeclimate.com/github/yegor256/xembly-gem)
10
+ [![Maintainability](https://api.codeclimate.com/v1/badges/f26349e81b04628d8bf7/maintainability)](https://codeclimate.com/github/yegor256/xembly-gem/maintainability)
10
11
  [![Coverage Status](https://img.shields.io/coveralls/yegor256/xembly-gem.svg)](https://coveralls.io/r/yegor256/xembly-gem)
11
12
 
12
- ## Assembly for XML
13
+ Xembly is assembly for XML.
13
14
 
14
15
  Read this [blog post](http://www.yegor256.com/2014/04/09/xembly-intro.html)
15
16
  and check this project: [yegor256/xembly](https://github.com/yegor256/xembly)
16
17
 
17
- ## How to Install?
18
-
19
- You will need Ruby 2.0+:
18
+ To install, you will need Ruby 2.0+:
20
19
 
21
20
  ```bash
22
21
  $ gem install xembly
23
22
  ```
24
23
 
25
- ## How to Run?
26
-
27
- Run it locally and read its output:
24
+ Then, run it and read its output:
28
25
 
29
26
  ```bash
30
27
  $ xembly --help
31
28
  ```
32
29
 
33
- Say, you want to modify an existing XML document, which is
34
- in file `doc.xml`:
30
+ Say, you want to modify an existing XML document, which is in the file `doc.xml`:
35
31
 
36
32
  ```xml
37
33
  <books>
@@ -53,5 +49,5 @@ $ xembly --xml doc.xml 'XPATH "/books"; ADD "book"; ATTR "isbn", "0201379430"; S
53
49
 
54
50
  Simple as that!
55
51
 
56
- Full specification of Xembly language is
52
+ The full specification of Xembly language is
57
53
  [here](https://github.com/yegor256/xembly).
data/Rakefile CHANGED
@@ -1,6 +1,7 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
+
2
3
  #
3
- # Copyright (c) 2016 Yegor Bugayenko
4
+ # Copyright (c) 2016-2021 Yegor Bugayenko
4
5
  #
5
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
7
  # of this software and associated documentation files (the 'Software'), to deal
@@ -33,7 +34,7 @@ def version
33
34
  Gem::Specification.load(Dir['*.gemspec'].first).version
34
35
  end
35
36
 
36
- task default: [:clean, :test, :features, :rubocop, :copyright]
37
+ task default: %i[clean test features rubocop copyright]
37
38
 
38
39
  require 'rake/testtask'
39
40
  desc 'Run all unit tests'
@@ -65,12 +66,12 @@ Cucumber::Rake::Task.new(:features) do |t|
65
66
  Rake::Cleaner.cleanup_files(['coverage'])
66
67
  t.profile = 'travis'
67
68
  end
68
- Cucumber::Rake::Task.new(:"features:html") do |t|
69
+ Cucumber::Rake::Task.new(:'features:html') do |t|
69
70
  t.profile = 'html_report'
70
71
  end
71
72
 
72
73
  task :copyright do
73
- sh "grep -q -r '#{Date.today.strftime('%Y')}' \
74
+ sh "grep -q -r '2016-#{Date.today.strftime('%Y')}' \
74
75
  --include '*.rb' \
75
76
  --include '*.txt' \
76
77
  --include 'Rakefile' \
data/bin/xembly CHANGED
@@ -1,7 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
- # encoding: utf-8
2
+ # frozen_string_literal: true
3
+
3
4
  #
4
- # Copyright (c) 2016 Yegor Bugayenko
5
+ # Copyright (c) 2016-2021 Yegor Bugayenko
5
6
  #
6
7
  # Permission is hereby granted, free of charge, to any person obtaining a copy
7
8
  # of this software and associated documentation files (the 'Software'), to deal
@@ -21,7 +22,7 @@
21
22
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
23
  # SOFTWARE.
23
24
 
24
- STDOUT.sync = true
25
+ $stdout.sync = true
25
26
 
26
27
  require 'xembly'
27
28
  require 'xembly/version'
@@ -58,10 +59,10 @@ opts = Slop.parse(ARGV, strict: true, help: true) do |o|
58
59
  )
59
60
  end
60
61
 
61
- fail '-f is mandatory when using -v' if opts.verbose? && !opts.file?
62
+ raise '-f is mandatory when using -v' if opts.verbose? && !opts.file?
62
63
 
63
64
  Encoding.default_external = Encoding::UTF_8
64
65
  Encoding.default_internal = Encoding::UTF_8
65
66
  output = Xembly::Base.new(opts).xml
66
- file = opts.file? ? File.new(opts[:file], 'w') : STDOUT
67
+ file = opts.file? ? File.new(opts[:file], 'w') : $stdout
67
68
  file << output
@@ -1,7 +1,7 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
+
2
3
  #
3
- # Copyright (c) 2016 TechnoPark Corp.
4
- # Copyright (c) 2016 Yegor Bugayenko
4
+ # Copyright (c) 2016-2021 Yegor Bugayenko
5
5
  #
6
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
7
7
  # of this software and associated documentation files (the 'Software'), to deal
@@ -42,45 +42,42 @@ end
42
42
  Given(/^I have a "([^"]*)" file with content:$/) do |file, text|
43
43
  FileUtils.mkdir_p(File.dirname(file)) unless File.exist?(file)
44
44
  File.open(file, 'w') do |f|
45
- f.write(text.gsub(/\\xFF/, "\xFF"))
45
+ f.write(text.gsub(/\\xFF/, 0xff.chr))
46
46
  end
47
47
  end
48
48
 
49
49
  Then(/^XML matches "([^"]+)"$/) do |xpath|
50
- fail "XML doesn't match \"#{xpath}\":\n#{@xml}" if @xml.xpath(xpath).empty?
50
+ raise "XML doesn't match \"#{xpath}\":\n#{@xml}" if @xml.xpath(xpath).empty?
51
51
  end
52
52
 
53
- When(/^I run bin\/xembly with "([^"]*)"$/) do |arg|
53
+ When(%r{^I run bin/xembly with "([^"]*)"$}) do |arg|
54
54
  home = File.join(File.dirname(__FILE__), '../..')
55
55
  @stdout = `ruby -I#{home}/lib #{home}/bin/xembly #{arg}`
56
56
  @exitstatus = $CHILD_STATUS.exitstatus
57
57
  end
58
58
 
59
59
  Then(/^Stdout contains "([^"]*)"$/) do |txt|
60
- unless @stdout.include?(txt)
61
- fail "STDOUT doesn't contain '#{txt}':\n#{@stdout}"
62
- end
60
+ raise "STDOUT doesn't contain '#{txt}':\n#{@stdout}" unless @stdout.include?(txt)
63
61
  end
64
62
 
65
63
  Then(/^Stdout is empty$/) do
66
- fail "STDOUT is not empty:\n#{@stdout}" unless @stdout == ''
64
+ raise "STDOUT is not empty:\n#{@stdout}" unless @stdout == ''
67
65
  end
68
66
 
69
67
  Then(/^XML file "([^"]+)" matches "((?:[^"]|\\")+)"$/) do |file, xpath|
70
- fail "File #{file} doesn't exit" unless File.exist?(file)
68
+ raise "File #{file} doesn't exit" unless File.exist?(file)
69
+
71
70
  xml = Nokogiri::XML.parse(File.read(file))
72
71
  xml.remove_namespaces!
73
- if xml.xpath(xpath.gsub(/\\"/, '"')).empty?
74
- fail "XML file #{file} doesn't match \"#{xpath}\":\n#{xml}"
75
- end
72
+ raise "XML file #{file} doesn't match \"#{xpath}\":\n#{xml}" if xml.xpath(xpath.gsub(/\\"/, '"')).empty?
76
73
  end
77
74
 
78
75
  Then(/^Exit code is zero$/) do
79
- fail "Non-zero exit code #{@exitstatus}" unless @exitstatus == 0
76
+ raise "Non-zero exit code #{@exitstatus}" unless @exitstatus.zero?
80
77
  end
81
78
 
82
79
  Then(/^Exit code is not zero$/) do
83
- fail 'Zero exit code' if @exitstatus == 0
80
+ raise 'Zero exit code' if @exitstatus.zero?
84
81
  end
85
82
 
86
83
  When(/^I run bash with$/) do |text|
@@ -1,7 +1,7 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
+
2
3
  #
3
- # Copyright (c) 2016 TechnoPark Corp.
4
- # Copyright (c) 2016 Yegor Bugayenko
4
+ # Copyright (c) 2016-2021 Yegor Bugayenko
5
5
  #
6
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
7
7
  # of this software and associated documentation files (the 'Software'), to deal
data/lib/xembly/add.rb CHANGED
@@ -1,6 +1,7 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
+
2
3
  #
3
- # Copyright (c) 2016 Yegor Bugayenko
4
+ # Copyright (c) 2016-2021 Yegor Bugayenko
4
5
  #
5
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
7
  # of this software and associated documentation files (the 'Software'), to deal
data/lib/xembly/addif.rb CHANGED
@@ -1,6 +1,7 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
+
2
3
  #
3
- # Copyright (c) 2016 Yegor Bugayenko
4
+ # Copyright (c) 2016-2021 Yegor Bugayenko
4
5
  #
5
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
7
  # of this software and associated documentation files (the 'Software'), to deal
@@ -35,7 +36,7 @@ module Xembly
35
36
  def exec(dom, cursor)
36
37
  after = []
37
38
  cursor.each do |node|
38
- if !node.element_children.any? { |e| e.name == @name }
39
+ if node.element_children.none? { |e| e.name == @name }
39
40
  child = Nokogiri::XML::Node.new(@name, dom)
40
41
  node.add_child(child)
41
42
  after.push(child)
data/lib/xembly/attr.rb CHANGED
@@ -1,6 +1,7 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
+
2
3
  #
3
- # Copyright (c) 2016 Yegor Bugayenko
4
+ # Copyright (c) 2016-2021 Yegor Bugayenko
4
5
  #
5
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
7
  # of this software and associated documentation files (the 'Software'), to deal
@@ -1,6 +1,7 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
+
2
3
  #
3
- # Copyright (c) 2016 Yegor Bugayenko
4
+ # Copyright (c) 2016-2021 Yegor Bugayenko
4
5
  #
5
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
7
  # of this software and associated documentation files (the 'Software'), to deal
@@ -36,10 +37,10 @@ module Xembly
36
37
  # +text+:: Directives in text
37
38
  def initialize(text)
38
39
  @array = text
39
- .strip
40
- .scan(/([A-Za-z]+)(?:\s+"([^"]+)")?(?:\s*,\s*"([^"]+)")*\s*;/)
41
- .map { |t| t.reject(&:nil?) }
42
- .map { |t| Directives.map(t) }
40
+ .strip
41
+ .scan(/([A-Za-z]+)(?:\s+"([^"]+)")?(?:\s*,\s*"([^"]+)")*\s*;/)
42
+ .map { |t| t.reject(&:nil?) }
43
+ .map { |t| Directives.map(t) }
43
44
  end
44
45
 
45
46
  def each(&block)
@@ -60,15 +61,15 @@ module Xembly
60
61
  when 'ATTR'
61
62
  Attr.new(args[0], args[1])
62
63
  when 'CDATA'
63
- fail 'CDATA command is not supported yet, please contribute'
64
+ raise 'CDATA command is not supported yet, please contribute'
64
65
  when 'NS'
65
- fail 'NS command is not supported yet, please contribute'
66
+ raise 'NS command is not supported yet, please contribute'
66
67
  when 'PI'
67
- fail 'PI command is not supported yet, please contribute'
68
+ raise 'PI command is not supported yet, please contribute'
68
69
  when 'POP'
69
- fail 'POP command is not supported yet, please contribute'
70
+ raise 'POP command is not supported yet, please contribute'
70
71
  when 'PUSH'
71
- fail 'PUSH command is not supported yet, please contribute'
72
+ raise 'PUSH command is not supported yet, please contribute'
72
73
  when 'REMOVE'
73
74
  Remove.new
74
75
  when 'SET'
@@ -80,9 +81,9 @@ module Xembly
80
81
  when 'XPATH'
81
82
  Xpath.new(args[0])
82
83
  when 'XSET'
83
- fail 'XSET command is not supported yet, please contribute'
84
+ raise 'XSET command is not supported yet, please contribute'
84
85
  else
85
- fail "Unknown command \"#{cmd}\""
86
+ raise "Unknown command \"#{cmd}\""
86
87
  end
87
88
  end
88
89
  end
data/lib/xembly/remove.rb CHANGED
@@ -1,6 +1,7 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
+
2
3
  #
3
- # Copyright (c) 2016 Yegor Bugayenko
4
+ # Copyright (c) 2016-2021 Yegor Bugayenko
4
5
  #
5
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
7
  # of this software and associated documentation files (the 'Software'), to deal
data/lib/xembly/set.rb CHANGED
@@ -1,6 +1,7 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
+
2
3
  #
3
- # Copyright (c) 2016 Yegor Bugayenko
4
+ # Copyright (c) 2016-2021 Yegor Bugayenko
4
5
  #
5
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
7
  # of this software and associated documentation files (the 'Software'), to deal
data/lib/xembly/strict.rb CHANGED
@@ -1,6 +1,7 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
+
2
3
  #
3
- # Copyright (c) 2016 Yegor Bugayenko
4
+ # Copyright (c) 2016-2021 Yegor Bugayenko
4
5
  #
5
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
7
  # of this software and associated documentation files (the 'Software'), to deal
@@ -32,8 +33,9 @@ module Xembly
32
33
  end
33
34
 
34
35
  def exec(_, cursor)
35
- fail "there are #{cursor.length} nodes, while #{@count} expected" unless \
36
+ raise "there are #{cursor.length} nodes, while #{@count} expected" unless \
36
37
  cursor.length == @count
38
+
37
39
  cursor
38
40
  end
39
41
  end
data/lib/xembly/up.rb CHANGED
@@ -1,6 +1,7 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
+
2
3
  #
3
- # Copyright (c) 2016 Yegor Bugayenko
4
+ # Copyright (c) 2016-2021 Yegor Bugayenko
4
5
  #
5
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
7
  # of this software and associated documentation files (the 'Software'), to deal
@@ -1,6 +1,7 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
+
2
3
  #
3
- # Copyright (c) 2016 Yegor Bugayenko
4
+ # Copyright (c) 2016-2021 Yegor Bugayenko
4
5
  #
5
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
7
  # of this software and associated documentation files (the 'Software'), to deal
@@ -21,9 +22,9 @@
21
22
  # SOFTWARE.
22
23
 
23
24
  # Xembly main module.
24
- # Author:: Yegor Bugayenko (yegor@teamed.io)
25
- # Copyright:: Copyright (c) 2016 Yegor Bugayenko
25
+ # Author:: Yegor Bugayenko (yegor256@gmail.com)
26
+ # Copyright:: Copyright (c) 2016-2021 Yegor Bugayenko
26
27
  # License:: MIT
27
28
  module Xembly
28
- VERSION = '0.4.2'
29
+ VERSION = '0.4.3'
29
30
  end
@@ -1,6 +1,7 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
+
2
3
  #
3
- # Copyright (c) 2016 Yegor Bugayenko
4
+ # Copyright (c) 2016-2021 Yegor Bugayenko
4
5
  #
5
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
7
  # of this software and associated documentation files (the 'Software'), to deal
@@ -37,6 +38,7 @@ module Xembly
37
38
  cursor = [dom]
38
39
  @dirs.each do |dir|
39
40
  cursor = dir.exec(dom, cursor)
41
+ Xembly.log.info "Applied: #{dir}"
40
42
  end
41
43
  Xembly.log.info "#{@dirs.length} directive(s) applied"
42
44
  dom
data/lib/xembly/xpath.rb CHANGED
@@ -1,6 +1,7 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
+
2
3
  #
3
- # Copyright (c) 2016 Yegor Bugayenko
4
+ # Copyright (c) 2016-2021 Yegor Bugayenko
4
5
  #
5
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
7
  # of this software and associated documentation files (the 'Software'), to deal
data/lib/xembly.rb CHANGED
@@ -1,6 +1,7 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
+
2
3
  #
3
- # Copyright (c) 2016 Yegor Bugayenko
4
+ # Copyright (c) 2016-2021 Yegor Bugayenko
4
5
  #
5
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
7
  # of this software and associated documentation files (the 'Software'), to deal
@@ -28,14 +29,14 @@ require 'logger'
28
29
  require 'time'
29
30
 
30
31
  # Xembly main module.
31
- # Author:: Yegor Bugayenko (yegor@teamed.io)
32
- # Copyright:: Copyright (c) 2016 Yegor Bugayenko
32
+ # Author:: Yegor Bugayenko (yegor256@gmail.com)
33
+ # Copyright:: Copyright (c) 2016-2021 Yegor Bugayenko
33
34
  # License:: MIT
34
35
  module Xembly
35
36
  # Get logger.
36
37
  def self.log
37
38
  unless @logger
38
- @logger = Logger.new(STDOUT)
39
+ @logger = Logger.new($stdout)
39
40
  @logger.formatter = proc { |severity, _, _, msg|
40
41
  "#{severity}: #{msg.dump}\n"
41
42
  }
@@ -65,7 +66,7 @@ module Xembly
65
66
  xml = File.read(@opts[:xml])
66
67
  Xembly.log.info "reading #{@opts[:xml]}"
67
68
  else
68
- xml = STDIN.read
69
+ xml = $stdin.read
69
70
  Xembly.log.info 'reading STDIN'
70
71
  end
71
72
  if @opts.dirs?
@@ -73,7 +74,7 @@ module Xembly
73
74
  dirs = File.read(@opts[:dirs])
74
75
  else
75
76
  Xembly.log.info "#{@opts.arguments.length} directives in command line"
76
- dirs = @opts.arguments.join('')
77
+ dirs = @opts.arguments.join
77
78
  end
78
79
  Xembler.new(Directives.new(dirs)).apply(xml).to_xml
79
80
  end
data/test/test__helper.rb CHANGED
@@ -1,6 +1,7 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
+
2
3
  #
3
- # Copyright (c) 2016 Yegor Bugayenko
4
+ # Copyright (c) 2016-2021 Yegor Bugayenko
4
5
  #
5
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
7
  # of this software and associated documentation files (the 'Software'), to deal
@@ -26,13 +27,13 @@ require 'xembly'
26
27
  require 'minitest/autorun'
27
28
 
28
29
  # Xembly test, parent class.
29
- # Author:: Yegor Bugayenko (yegor@teamed.io)
30
- # Copyright:: Copyright (c) 2016 Yegor Bugayenko
30
+ # Author:: Yegor Bugayenko (yegor256@gmail.com)
31
+ # Copyright:: Copyright (c) 2016-2021 Yegor Bugayenko
31
32
  # License:: MIT
32
33
  class XeTest < Minitest::Test
33
34
  def matches(xml, xpaths)
34
35
  xpaths.each do |xpath|
35
- fail "doesn't match '#{xpath}': #{xml}" \
36
+ raise "doesn't match '#{xpath}': #{xml}" \
36
37
  unless Nokogiri::XML(xml).xpath(xpath).size == 1
37
38
  end
38
39
  end
data/test/test_add.rb CHANGED
@@ -1,6 +1,7 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
+
2
3
  #
3
- # Copyright (c) 2016 Yegor Bugayenko
4
+ # Copyright (c) 2016-2021 Yegor Bugayenko
4
5
  #
5
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
7
  # of this software and associated documentation files (the 'Software'), to deal
@@ -24,8 +25,8 @@ require 'xembly/add'
24
25
  require 'test__helper'
25
26
 
26
27
  # Xembly::Add tests.
27
- # Author:: Yegor Bugayenko (yegor@teamed.io)
28
- # Copyright:: Copyright (c) 2016 Yegor Bugayenko
28
+ # Author:: Yegor Bugayenko (yegor256@gmail.com)
29
+ # Copyright:: Copyright (c) 2016-2021 Yegor Bugayenko
29
30
  # License:: MIT
30
31
  class TestAdd < XeTest
31
32
  def test_adds_nodes
data/test/test_addif.rb CHANGED
@@ -1,6 +1,7 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
+
2
3
  #
3
- # Copyright (c) 2016 Yegor Bugayenko
4
+ # Copyright (c) 2016-2021 Yegor Bugayenko
4
5
  #
5
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
7
  # of this software and associated documentation files (the 'Software'), to deal
@@ -24,8 +25,8 @@ require 'xembly/addif'
24
25
  require 'test__helper'
25
26
 
26
27
  # Xembly::AddIf tests.
27
- # Author:: Yegor Bugayenko (yegor@teamed.io)
28
- # Copyright:: Copyright (c) 2016 Yegor Bugayenko
28
+ # Author:: Yegor Bugayenko (yegor256@gmail.com)
29
+ # Copyright:: Copyright (c) 2016-2021 Yegor Bugayenko
29
30
  # License:: MIT
30
31
  class TestAddIf < XeTest
31
32
  def test_skips_nodes
data/test/test_attr.rb CHANGED
@@ -1,6 +1,7 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
+
2
3
  #
3
- # Copyright (c) 2016 Yegor Bugayenko
4
+ # Copyright (c) 2016-2021 Yegor Bugayenko
4
5
  #
5
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
7
  # of this software and associated documentation files (the 'Software'), to deal
@@ -24,8 +25,8 @@ require 'xembly/attr'
24
25
  require 'test__helper'
25
26
 
26
27
  # Xembly::Attr tests.
27
- # Author:: Yegor Bugayenko (yegor@teamed.io)
28
- # Copyright:: Copyright (c) 2016 Yegor Bugayenko
28
+ # Author:: Yegor Bugayenko (yegor256@gmail.com)
29
+ # Copyright:: Copyright (c) 2016-2021 Yegor Bugayenko
29
30
  # License:: MIT
30
31
  class TestAttr < XeTest
31
32
  def test_sets_attributes
@@ -1,6 +1,7 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
+
2
3
  #
3
- # Copyright (c) 2016 Yegor Bugayenko
4
+ # Copyright (c) 2016-2021 Yegor Bugayenko
4
5
  #
5
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
7
  # of this software and associated documentation files (the 'Software'), to deal
@@ -25,8 +26,8 @@ require 'nokogiri'
25
26
  require 'xembly/directives'
26
27
 
27
28
  # Xembly::Directives module tests.
28
- # Author:: Yegor Bugayenko (yegor@teamed.io)
29
- # Copyright:: Copyright (c) 2016 Yegor Bugayenko
29
+ # Author:: Yegor Bugayenko (yegor256@gmail.com)
30
+ # Copyright:: Copyright (c) 2016-2021 Yegor Bugayenko
30
31
  # License:: MIT
31
32
  class TestDirectives < Minitest::Test
32
33
  def test_parses_directives
data/test/test_remove.rb CHANGED
@@ -1,6 +1,7 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
+
2
3
  #
3
- # Copyright (c) 2016 Yegor Bugayenko
4
+ # Copyright (c) 2016-2021 Yegor Bugayenko
4
5
  #
5
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
7
  # of this software and associated documentation files (the 'Software'), to deal
@@ -24,8 +25,8 @@ require 'xembly/remove'
24
25
  require 'test__helper'
25
26
 
26
27
  # Xembly::Remove tests.
27
- # Author:: Yegor Bugayenko (yegor@teamed.io)
28
- # Copyright:: Copyright (c) 2016 Yegor Bugayenko
28
+ # Author:: Yegor Bugayenko (yegor256@gmail.com)
29
+ # Copyright:: Copyright (c) 2016-2021 Yegor Bugayenko
29
30
  # License:: MIT
30
31
  class TestRemove < XeTest
31
32
  def test_adds_nodes
data/test/test_set.rb CHANGED
@@ -1,6 +1,7 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
+
2
3
  #
3
- # Copyright (c) 2016 Yegor Bugayenko
4
+ # Copyright (c) 2016-2021 Yegor Bugayenko
4
5
  #
5
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
7
  # of this software and associated documentation files (the 'Software'), to deal
@@ -24,8 +25,8 @@ require 'xembly/set'
24
25
  require 'test__helper'
25
26
 
26
27
  # Xembly::Set tests.
27
- # Author:: Yegor Bugayenko (yegor@teamed.io)
28
- # Copyright:: Copyright (c) 2016 Yegor Bugayenko
28
+ # Author:: Yegor Bugayenko (yegor256@gmail.com)
29
+ # Copyright:: Copyright (c) 2016-2021 Yegor Bugayenko
29
30
  # License:: MIT
30
31
  class TestSet < XeTest
31
32
  def test_sets_values
data/test/test_xembler.rb CHANGED
@@ -1,6 +1,7 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
+
2
3
  #
3
- # Copyright (c) 2016 Yegor Bugayenko
4
+ # Copyright (c) 2016-2021 Yegor Bugayenko
4
5
  #
5
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
7
  # of this software and associated documentation files (the 'Software'), to deal
@@ -27,8 +28,8 @@ require 'xembly/directives'
27
28
  require 'test__helper'
28
29
 
29
30
  # Xembly::Xembler module tests.
30
- # Author:: Yegor Bugayenko (yegor@teamed.io)
31
- # Copyright:: Copyright (c) 2016 Yegor Bugayenko
31
+ # Author:: Yegor Bugayenko (yegor256@gmail.com)
32
+ # Copyright:: Copyright (c) 2016-2021 Yegor Bugayenko
32
33
  # License:: MIT
33
34
  class TestXembler < XeTest
34
35
  def test_modifies_xml
data/test/test_xembly.rb CHANGED
@@ -1,6 +1,7 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
+
2
3
  #
3
- # Copyright (c) 2016 Yegor Bugayenko
4
+ # Copyright (c) 2016-2021 Yegor Bugayenko
4
5
  #
5
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
7
  # of this software and associated documentation files (the 'Software'), to deal
@@ -28,8 +29,8 @@ require 'slop'
28
29
  require 'test__helper'
29
30
 
30
31
  # Xembly main module test.
31
- # Author:: Yegor Bugayenko (yegor@teamed.io)
32
- # Copyright:: Copyright (c) 2016 Yegor Bugayenko
32
+ # Author:: Yegor Bugayenko (yegor256@gmail.com)
33
+ # Copyright:: Copyright (c) 2016-2021 Yegor Bugayenko
33
34
  # License:: MIT
34
35
  class TestXembly < XeTest
35
36
  def test_basic
data/xembly.gemspec CHANGED
@@ -1,6 +1,7 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
+
2
3
  #
3
- # Copyright (c) 2016 Yegor Bugayenko
4
+ # Copyright (c) 2016-2021 Yegor Bugayenko
4
5
  #
5
6
  # Permission is hereby granted, free of charge, to any person obtaining a copy
6
7
  # of this software and associated documentation files (the 'Software'), to deal
@@ -20,38 +21,36 @@
20
21
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
22
  # SOFTWARE.
22
23
 
23
- lib = File.expand_path('../lib', __FILE__)
24
+ lib = File.expand_path('lib', __dir__)
24
25
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
25
26
  require 'xembly/version'
26
27
 
27
28
  Gem::Specification.new do |s|
28
29
  s.specification_version = 2 if s.respond_to? :specification_version=
29
- if s.respond_to? :required_rubygems_version=
30
- s.required_rubygems_version = Gem::Requirement.new('>= 0')
31
- end
32
- s.rubygems_version = '2.2.2'
33
- s.required_ruby_version = '>= 2.0.0'
30
+ s.required_rubygems_version = Gem::Requirement.new('>= 0') if s.respond_to? :required_rubygems_version=
31
+ s.rubygems_version = '2.2'
32
+ s.required_ruby_version = '>= 2.5'
34
33
  s.name = 'xembly'
35
34
  s.version = Xembly::VERSION
36
35
  s.license = 'MIT'
37
36
  s.summary = 'Xembly Gem'
38
37
  s.description = 'Command Line XML Manipulator'
39
38
  s.authors = ['Yegor Bugayenko']
40
- s.email = 'yegor@teamed.io'
39
+ s.email = 'yegor256@gmail.com'
41
40
  s.homepage = 'http://github.com/yegor256/xembly-gem'
42
41
  s.files = `git ls-files`.split($RS)
43
- s.executables = s.files.grep(/^bin\//) { |f| File.basename(f) }
44
- s.test_files = s.files.grep(/^(test|spec|features)\//)
42
+ s.executables = s.files.grep(%r{^bin/}) { |f| File.basename(f) }
43
+ s.test_files = s.files.grep(%r{^(test|spec|features)/})
45
44
  s.rdoc_options = ['--charset=UTF-8']
46
45
  s.extra_rdoc_files = ['README.md', 'LICENSE.txt']
47
- s.add_runtime_dependency 'nokogiri', '1.6.7.2'
48
- s.add_runtime_dependency 'slop', '4.3.0'
49
- s.add_runtime_dependency 'rake', '11.1.1'
50
- s.add_development_dependency 'coveralls', '0.7.2'
51
- s.add_development_dependency 'rdoc', '4.2.0'
52
- s.add_development_dependency 'cucumber', '1.3.17'
53
- s.add_development_dependency 'minitest', '5.5.0'
54
- s.add_development_dependency 'rubocop', '0.24.1'
55
- s.add_development_dependency 'rubocop-rspec', '1.2.1'
56
- s.add_development_dependency 'rspec-rails', '3.1.0'
46
+ s.add_runtime_dependency 'nokogiri', '1.12.3'
47
+ s.add_runtime_dependency 'rake', '13.0.6'
48
+ s.add_runtime_dependency 'slop', '4.4.1'
49
+ s.add_development_dependency 'coveralls', '0.8.23'
50
+ s.add_development_dependency 'cucumber', '7.0.0'
51
+ s.add_development_dependency 'minitest', '5.14.4'
52
+ s.add_development_dependency 'rdoc', '6.3.2'
53
+ s.add_development_dependency 'rspec-rails', '5.0.2'
54
+ s.add_development_dependency 'rubocop', '1.19.1'
55
+ s.add_development_dependency 'rubocop-rspec', '2.4.0'
57
56
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xembly
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
4
+ version: 0.4.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yegor Bugayenko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-20 00:00:00.000000000 Z
11
+ date: 2021-08-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -16,142 +16,142 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 1.6.7.2
19
+ version: 1.12.3
20
20
  type: :runtime
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.6.7.2
26
+ version: 1.12.3
27
27
  - !ruby/object:Gem::Dependency
28
- name: slop
28
+ name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 4.3.0
33
+ version: 13.0.6
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 4.3.0
40
+ version: 13.0.6
41
41
  - !ruby/object:Gem::Dependency
42
- name: rake
42
+ name: slop
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - '='
46
46
  - !ruby/object:Gem::Version
47
- version: 11.1.1
47
+ version: 4.4.1
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - '='
53
53
  - !ruby/object:Gem::Version
54
- version: 11.1.1
54
+ version: 4.4.1
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: coveralls
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - '='
60
60
  - !ruby/object:Gem::Version
61
- version: 0.7.2
61
+ version: 0.8.23
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - '='
67
67
  - !ruby/object:Gem::Version
68
- version: 0.7.2
68
+ version: 0.8.23
69
69
  - !ruby/object:Gem::Dependency
70
- name: rdoc
70
+ name: cucumber
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - '='
74
74
  - !ruby/object:Gem::Version
75
- version: 4.2.0
75
+ version: 7.0.0
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - '='
81
81
  - !ruby/object:Gem::Version
82
- version: 4.2.0
82
+ version: 7.0.0
83
83
  - !ruby/object:Gem::Dependency
84
- name: cucumber
84
+ name: minitest
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - '='
88
88
  - !ruby/object:Gem::Version
89
- version: 1.3.17
89
+ version: 5.14.4
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - '='
95
95
  - !ruby/object:Gem::Version
96
- version: 1.3.17
96
+ version: 5.14.4
97
97
  - !ruby/object:Gem::Dependency
98
- name: minitest
98
+ name: rdoc
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - '='
102
102
  - !ruby/object:Gem::Version
103
- version: 5.5.0
103
+ version: 6.3.2
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - '='
109
109
  - !ruby/object:Gem::Version
110
- version: 5.5.0
110
+ version: 6.3.2
111
111
  - !ruby/object:Gem::Dependency
112
- name: rubocop
112
+ name: rspec-rails
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - '='
116
116
  - !ruby/object:Gem::Version
117
- version: 0.24.1
117
+ version: 5.0.2
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - '='
123
123
  - !ruby/object:Gem::Version
124
- version: 0.24.1
124
+ version: 5.0.2
125
125
  - !ruby/object:Gem::Dependency
126
- name: rubocop-rspec
126
+ name: rubocop
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - '='
130
130
  - !ruby/object:Gem::Version
131
- version: 1.2.1
131
+ version: 1.19.1
132
132
  type: :development
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.2.1
138
+ version: 1.19.1
139
139
  - !ruby/object:Gem::Dependency
140
- name: rspec-rails
140
+ name: rubocop-rspec
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - '='
144
144
  - !ruby/object:Gem::Version
145
- version: 3.1.0
145
+ version: 2.4.0
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - '='
151
151
  - !ruby/object:Gem::Version
152
- version: 3.1.0
152
+ version: 2.4.0
153
153
  description: Command Line XML Manipulator
154
- email: yegor@teamed.io
154
+ email: yegor256@gmail.com
155
155
  executables:
156
156
  - xembly
157
157
  extensions: []
@@ -159,9 +159,13 @@ extra_rdoc_files:
159
159
  - README.md
160
160
  - LICENSE.txt
161
161
  files:
162
+ - ".0pdd.yml"
162
163
  - ".coveralls.yml"
163
164
  - ".gitattributes"
165
+ - ".github/ISSUE_TEMPLATE.md"
166
+ - ".github/PULL_REQUEST_TEMPLATE.md"
164
167
  - ".gitignore"
168
+ - ".pdd"
165
169
  - ".rubocop.yml"
166
170
  - ".rultor.yml"
167
171
  - ".simplecov"
@@ -212,15 +216,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
212
216
  requirements:
213
217
  - - ">="
214
218
  - !ruby/object:Gem::Version
215
- version: 2.0.0
219
+ version: '2.5'
216
220
  required_rubygems_version: !ruby/object:Gem::Requirement
217
221
  requirements:
218
222
  - - ">="
219
223
  - !ruby/object:Gem::Version
220
224
  version: '0'
221
225
  requirements: []
222
- rubyforge_project:
223
- rubygems_version: 2.4.5.1
226
+ rubygems_version: 3.1.2
224
227
  signing_key:
225
228
  specification_version: 2
226
229
  summary: Xembly Gem