yadtfp 1.0.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 +7 -0
- data/.gitignore +22 -0
- data/.yardopts +9 -0
- data/CONTRIBUTING.md +9 -0
- data/Gemfile +4 -0
- data/Guardfile +16 -0
- data/MIT-LICENSE.txt +20 -0
- data/README.md +285 -0
- data/Rakefile +2 -0
- data/bin/yadtfp +3 -0
- data/lib/yadtfp.rb +21 -0
- data/lib/yadtfp/cli.rb +55 -0
- data/lib/yadtfp/configuration.rb +82 -0
- data/lib/yadtfp/outputters.rb +3 -0
- data/lib/yadtfp/outputters/diffable.rb +74 -0
- data/lib/yadtfp/outputters/pretty.rb +128 -0
- data/lib/yadtfp/outputters_factory.rb +26 -0
- data/lib/yadtfp/parsers.rb +1 -0
- data/lib/yadtfp/parsers/ox.rb +328 -0
- data/lib/yadtfp/parsers_factory.rb +24 -0
- data/lib/yadtfp/version.rb +3 -0
- data/spec/cli_spec.rb +44 -0
- data/spec/configuration_spec.rb +115 -0
- data/spec/outputters/diffable_spec.rb +119 -0
- data/spec/outputters/pretty_spec.rb +260 -0
- data/spec/outputters_factory_spec.rb +20 -0
- data/spec/parsers/ox_spec.rb +966 -0
- data/spec/parsers_factory_spec.rb +18 -0
- data/spec/spec_helper.rb +13 -0
- data/spec/support/helpers.rb +22 -0
- data/spec/yadtfp_spec.rb +26 -0
- data/yadtfp.gemspec +34 -0
- metadata +206 -0
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Yadtfp::ParsersFactory do
|
4
|
+
|
5
|
+
describe '.create' do
|
6
|
+
|
7
|
+
it 'when :ox is supplied' do
|
8
|
+
expect(Yadtfp::ParsersFactory.create(:ox)).to be_kind_of(Yadtfp::Parsers::Ox)
|
9
|
+
end
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
|
14
|
+
it 'when invalid parser is supplied' do
|
15
|
+
expect { Yadtfp::ParsersFactory.create('invalid') }.to raise_error(ArgumentError)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
$:.unshift File.expand_path(File.join(File.dirname(__FILE__), 'lib'))
|
2
|
+
require 'yadtfp'
|
3
|
+
|
4
|
+
|
5
|
+
# Requires supporting files with custom matchers and macros etc in spec/support/**
|
6
|
+
Dir[File.expand_path(File.join(File.dirname(__FILE__), 'support', '**', '*.rb'))].each { |f| require f }
|
7
|
+
|
8
|
+
|
9
|
+
RSpec.configure do |config|
|
10
|
+
|
11
|
+
# Include Helpers
|
12
|
+
config.include Yadtfp::TestHelpers
|
13
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Yadtfp::TestHelpers
|
2
|
+
|
3
|
+
# Returns ::Ox::Document for given xml string
|
4
|
+
#
|
5
|
+
# Note that this method prepends processing instruction if given xml does not contain processing instruction.
|
6
|
+
def ox_parse_doc(xml)
|
7
|
+
xml ||= ""
|
8
|
+
xml = xml.gsub("\n", ' ').squeeze(' ').strip
|
9
|
+
|
10
|
+
xml.prepend("<?xml version='1.0' encoding='UTF-8' ?>") if !xml.strip.start_with?("<?")
|
11
|
+
::Ox::parse(xml)
|
12
|
+
end
|
13
|
+
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
# Returns ::Ox::Element for given xml string
|
18
|
+
def ox_parse_elem(xml)
|
19
|
+
ox_parse_doc(xml).root
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
data/spec/yadtfp_spec.rb
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Yadtfp do
|
4
|
+
|
5
|
+
describe '.configuration' do
|
6
|
+
|
7
|
+
it 'returns configuration instance' do
|
8
|
+
expect(Yadtfp.configuration).to eq(Yadtfp::Configuration.instance)
|
9
|
+
end
|
10
|
+
|
11
|
+
end
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
describe '.configure' do
|
18
|
+
|
19
|
+
# TODO: How can this test be improved?
|
20
|
+
it 'yields configuration instance' do
|
21
|
+
expect { |b| Yadtfp.configure(&b) }.to yield_control.once
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
data/yadtfp.gemspec
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
$:.push File.expand_path("../lib/", __FILE__)
|
3
|
+
require 'yadtfp/version'
|
4
|
+
|
5
|
+
Gem::Specification.new do |spec|
|
6
|
+
spec.name = "yadtfp"
|
7
|
+
spec.version = Yadtfp::VERSION
|
8
|
+
spec.authors = ["Vinod Adhikary"]
|
9
|
+
spec.email = ["vinodadhikary@gmail.com"]
|
10
|
+
spec.summary = %q{ Yet Another Diff Tool For Param }
|
11
|
+
spec.description = %q{ Yadtfp is a diff tool that takes two well formed xml documents and generates the differences between to two in an easy to read, consise output. }
|
12
|
+
spec.homepage = "https://github.com/vinodadhikary/yadtfp"
|
13
|
+
spec.license = "MIT"
|
14
|
+
|
15
|
+
spec.files = `git ls-files -z`.split("\x0")
|
16
|
+
spec.files += Dir.glob("bin/**/*")
|
17
|
+
spec.files += Dir.glob("lib/**/*")
|
18
|
+
spec.files += Dir.glob("spec/**/*")
|
19
|
+
|
20
|
+
spec.executables = %w[yadtfp]
|
21
|
+
spec.test_files = Dir.glob("spec/**/*")
|
22
|
+
|
23
|
+
spec.require_paths = ["lib"]
|
24
|
+
|
25
|
+
spec.add_dependency "thor", '~> 0.19'
|
26
|
+
spec.add_dependency "ox", '~> 2.1'
|
27
|
+
|
28
|
+
spec.add_development_dependency "bundler", '~> 1.6'
|
29
|
+
spec.add_development_dependency "rake", '~> 10.3'
|
30
|
+
spec.add_development_dependency "rspec", '~> 3.0'
|
31
|
+
spec.add_development_dependency "guard-rspec", '~> 4.2', '>= 4.2.10'
|
32
|
+
spec.add_development_dependency "yard", '~> 0.8'
|
33
|
+
spec.add_development_dependency "guard-yard", '~> 2.1'
|
34
|
+
end
|
metadata
ADDED
@@ -0,0 +1,206 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: yadtfp
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.2
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Vinod Adhikary
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-10-18 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: thor
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0.19'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0.19'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: ox
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '2.1'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '2.1'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: bundler
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.6'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.6'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rake
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '10.3'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '10.3'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rspec
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '3.0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '3.0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: guard-rspec
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '4.2'
|
90
|
+
- - ">="
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: 4.2.10
|
93
|
+
type: :development
|
94
|
+
prerelease: false
|
95
|
+
version_requirements: !ruby/object:Gem::Requirement
|
96
|
+
requirements:
|
97
|
+
- - "~>"
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
version: '4.2'
|
100
|
+
- - ">="
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: 4.2.10
|
103
|
+
- !ruby/object:Gem::Dependency
|
104
|
+
name: yard
|
105
|
+
requirement: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - "~>"
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0.8'
|
110
|
+
type: :development
|
111
|
+
prerelease: false
|
112
|
+
version_requirements: !ruby/object:Gem::Requirement
|
113
|
+
requirements:
|
114
|
+
- - "~>"
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: '0.8'
|
117
|
+
- !ruby/object:Gem::Dependency
|
118
|
+
name: guard-yard
|
119
|
+
requirement: !ruby/object:Gem::Requirement
|
120
|
+
requirements:
|
121
|
+
- - "~>"
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: '2.1'
|
124
|
+
type: :development
|
125
|
+
prerelease: false
|
126
|
+
version_requirements: !ruby/object:Gem::Requirement
|
127
|
+
requirements:
|
128
|
+
- - "~>"
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
version: '2.1'
|
131
|
+
description: " Yadtfp is a diff tool that takes two well formed xml documents and
|
132
|
+
generates the differences between to two in an easy to read, consise output. "
|
133
|
+
email:
|
134
|
+
- vinodadhikary@gmail.com
|
135
|
+
executables:
|
136
|
+
- yadtfp
|
137
|
+
extensions: []
|
138
|
+
extra_rdoc_files: []
|
139
|
+
files:
|
140
|
+
- ".gitignore"
|
141
|
+
- ".yardopts"
|
142
|
+
- CONTRIBUTING.md
|
143
|
+
- Gemfile
|
144
|
+
- Guardfile
|
145
|
+
- MIT-LICENSE.txt
|
146
|
+
- README.md
|
147
|
+
- Rakefile
|
148
|
+
- bin/yadtfp
|
149
|
+
- lib/yadtfp.rb
|
150
|
+
- lib/yadtfp/cli.rb
|
151
|
+
- lib/yadtfp/configuration.rb
|
152
|
+
- lib/yadtfp/outputters.rb
|
153
|
+
- lib/yadtfp/outputters/diffable.rb
|
154
|
+
- lib/yadtfp/outputters/pretty.rb
|
155
|
+
- lib/yadtfp/outputters_factory.rb
|
156
|
+
- lib/yadtfp/parsers.rb
|
157
|
+
- lib/yadtfp/parsers/ox.rb
|
158
|
+
- lib/yadtfp/parsers_factory.rb
|
159
|
+
- lib/yadtfp/version.rb
|
160
|
+
- spec/cli_spec.rb
|
161
|
+
- spec/configuration_spec.rb
|
162
|
+
- spec/outputters/diffable_spec.rb
|
163
|
+
- spec/outputters/pretty_spec.rb
|
164
|
+
- spec/outputters_factory_spec.rb
|
165
|
+
- spec/parsers/ox_spec.rb
|
166
|
+
- spec/parsers_factory_spec.rb
|
167
|
+
- spec/spec_helper.rb
|
168
|
+
- spec/support/helpers.rb
|
169
|
+
- spec/yadtfp_spec.rb
|
170
|
+
- yadtfp.gemspec
|
171
|
+
homepage: https://github.com/vinodadhikary/yadtfp
|
172
|
+
licenses:
|
173
|
+
- MIT
|
174
|
+
metadata: {}
|
175
|
+
post_install_message:
|
176
|
+
rdoc_options: []
|
177
|
+
require_paths:
|
178
|
+
- lib
|
179
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
180
|
+
requirements:
|
181
|
+
- - ">="
|
182
|
+
- !ruby/object:Gem::Version
|
183
|
+
version: '0'
|
184
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
185
|
+
requirements:
|
186
|
+
- - ">="
|
187
|
+
- !ruby/object:Gem::Version
|
188
|
+
version: '0'
|
189
|
+
requirements: []
|
190
|
+
rubyforge_project:
|
191
|
+
rubygems_version: 2.4.2
|
192
|
+
signing_key:
|
193
|
+
specification_version: 4
|
194
|
+
summary: Yet Another Diff Tool For Param
|
195
|
+
test_files:
|
196
|
+
- spec/parsers/ox_spec.rb
|
197
|
+
- spec/configuration_spec.rb
|
198
|
+
- spec/outputters_factory_spec.rb
|
199
|
+
- spec/parsers_factory_spec.rb
|
200
|
+
- spec/spec_helper.rb
|
201
|
+
- spec/outputters/pretty_spec.rb
|
202
|
+
- spec/outputters/diffable_spec.rb
|
203
|
+
- spec/support/helpers.rb
|
204
|
+
- spec/yadtfp_spec.rb
|
205
|
+
- spec/cli_spec.rb
|
206
|
+
has_rdoc:
|