happymapper-differ 0.2.2 → 0.2.3

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: 0816ea085736d79ded4dd6de8003881d68a06655
4
- data.tar.gz: 838805d31086e7f2e515af86dae05c7754166678
3
+ metadata.gz: 3233b0e2d39c86aa6443168e2cd56a7dbd64d818
4
+ data.tar.gz: a6cffe46d35fde4268e9aaa51c076f94feb8199c
5
5
  SHA512:
6
- metadata.gz: 771b504f7b3dbd5f13607fa462565c262f9937569879e9dc6778511f97e14026e9ff1a57b91688273cff182414be423fc3495c6309164965a09b511de2cfaf2f
7
- data.tar.gz: 8eb3b6fbc013109a692298d2f8a4feeeec9d9c2e70b1f0058d839d7449da2dc6f4f436efb4fe5f31e645613d80d53b34d55e4745f0372cfbb4d0422b7537e54b
6
+ metadata.gz: ce86b99cb7a33a69b7b6cc699a29ff12a0f1a715a8d4fe68bab54b549f44bb081fd21eea9220be933138fa9576d9bc82b4f3f4b99d590df1edf4fc3b3514fa83
7
+ data.tar.gz: 06b6091ef455a487c7f2f66b5b2343d3bf7599be04d966d842c6daec3f305d389bd4fee17b17dd93ad7ece1d34c20c9383af78e463c8988a2f2e68e865edf243
data/CHANGELOG.md CHANGED
@@ -1,3 +1,3 @@
1
- ## Unreleased
2
- ### Changed
3
- - Removed cloning
1
+ ## 0.2.3
2
+
3
+ Support Ruby 2.4
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- # Specify your gem's dependencies in goalkeeper.gemspec
3
+ # Specify your gem's dependencies in happymapper-differ.gemspec
4
4
  gemspec
@@ -1,6 +1,7 @@
1
1
  # coding: utf-8
2
2
  lib = File.expand_path('../lib', __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'happymapper'
4
5
  require 'happymapper_differ'
5
6
 
6
7
  Gem::Specification.new do |spec|
@@ -31,5 +32,6 @@ Gem::Specification.new do |spec|
31
32
 
32
33
  spec.add_development_dependency "byebug", "~> 3.5"
33
34
  spec.add_development_dependency "bundler", "~> 1.7"
35
+ spec.add_development_dependency "minitest"
34
36
  spec.add_development_dependency "rake", "~> 10.0"
35
37
  end
@@ -7,7 +7,7 @@ module HappyMapper
7
7
  # First step is map all nodes into a DiffedItem
8
8
  # Step two is present all the changes via DiffedItem.changes
9
9
  class Differ
10
- VERSION = "0.2.2"
10
+ VERSION = "0.2.3"
11
11
 
12
12
  def initialize(left, right)
13
13
  @left = left
@@ -89,11 +89,19 @@ module HappyMapper
89
89
  attr_accessor :compared
90
90
  alias_method :was, :compared
91
91
 
92
+ def self.ruby_2_3_or_older?
93
+ @ruby_2_3_or_older ||= Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.4')
94
+ end
95
+
92
96
  def self.create(item, compared)
93
97
  begin
94
98
  # if the item can not be cloned, it will raise an exception
95
99
  # do not extend objects which can not be cloned
96
- item.clone
100
+ if ruby_2_3_or_older?
101
+ item.clone
102
+ else
103
+ item.clone(freeze: false)
104
+ end
97
105
  item.extend(DiffedItem)
98
106
  rescue
99
107
  # this item is a Float, Nil or other class that can not be extended
@@ -1,7 +1,4 @@
1
- require 'happymapper'
2
-
3
1
  # HappyMapper module imported from the nokogiri-happymapper gem
4
2
  module HappyMapper
5
3
  require 'happymapper/differ'
6
4
  end
7
-
@@ -28,7 +28,7 @@ describe HappyMapper::UnExtendable do
28
28
  let(:type) { nil }
29
29
  it { t.nil? }
30
30
  it "is comparable to a Float" do
31
- assert_equal t, nil
31
+ assert_nil t
32
32
  end
33
33
  end
34
34
  end
data/test/test_helper.rb CHANGED
@@ -1,8 +1,9 @@
1
- require 'minitest/unit'
2
1
  require 'minitest/autorun'
2
+ require 'minitest/unit'
3
3
  require 'minitest/pride'
4
4
  require './lib/happymapper_differ'
5
5
  require 'byebug'
6
+ require 'happymapper'
6
7
 
7
8
  class TParent
8
9
  include HappyMapper
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: happymapper-differ
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Weir
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-08 00:00:00.000000000 Z
11
+ date: 2018-10-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri-happymapper
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1.7'
55
+ - !ruby/object:Gem::Dependency
56
+ name: minitest
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: rake
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -111,7 +125,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
111
125
  version: '0'
112
126
  requirements: []
113
127
  rubyforge_project:
114
- rubygems_version: 2.2.2
128
+ rubygems_version: 2.6.14.1
115
129
  signing_key:
116
130
  specification_version: 4
117
131
  summary: Find changes between two like HappyMapper objects
@@ -121,4 +135,3 @@ test_files:
121
135
  - test/happymapper/un_extendable_test.rb
122
136
  - test/happymapper_differ_test.rb
123
137
  - test/test_helper.rb
124
- has_rdoc: