metamorpher 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 +4 -4
- data/README.md +2 -2
- data/RELEASES.md +3 -0
- data/examples/refactorings/rails/where_first/app.rb +1 -1
- data/lib/metamorpher/transformer/site.rb +4 -4
- data/lib/metamorpher/version.rb +1 -1
- data/metamorpher.gemspec +3 -3
- data/spec/unit/transformer/site_spec.rb +1 -1
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e9237b01c385795b539eead5272e2f5b10da0478
|
4
|
+
data.tar.gz: 89bcc4a9e25d6e88ff60b8e138a3e8e6de3cb982
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bd67aa280069e940f96e76e4ccc9f2dbdbe85517817402586a06c2ee082d3326aef52baf48e7d18ee3a12684ca7c31a1b6756d33c8d927d00a4dde4b5ffef200
|
7
|
+
data.tar.gz: 8f67538d34cf12a78b39c7e54409aa40915cc6f3d471798e6bed167c438e86736d77a2bbcd6264f76b7e408bbe56edf773c2e02e23ea2b6f94dbaa79706589c6
|
data/README.md
CHANGED
@@ -547,7 +547,7 @@ source = "a = if some_predicate then true else false end;" \
|
|
547
547
|
UnnecessaryConditionalRefactorer.new.refactor(source) do |refactoring|
|
548
548
|
puts "About to replace '#{refactoring.original_code}' " \
|
549
549
|
"at position #{refactoring.original_position} " \
|
550
|
-
"with '#{refactoring.
|
550
|
+
"with '#{refactoring.transformed_code}'"
|
551
551
|
end
|
552
552
|
# About to replace 'if some_predicate then true else false end' at position 4..45 with 'some_predicate'
|
553
553
|
# About to replace 'if some_other_predicate then true else false end' at position 51..98 with 'some_other_predicate'
|
@@ -586,7 +586,7 @@ UnnecessaryConditionalRefactorer.new.refactor_files(path) do |path, new_contents
|
|
586
586
|
sites.each do |site|
|
587
587
|
puts "\tAbout to replace '#{refactoring.original_code}' " \
|
588
588
|
"at position #{refactoring.original_position} " \
|
589
|
-
"with '#{refactoring.
|
589
|
+
"with '#{refactoring.transformed_code}'"
|
590
590
|
end
|
591
591
|
end
|
592
592
|
# In /Users/louis/code/mutiny/lib/mutiny.rb:
|
data/RELEASES.md
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
# Release History
|
2
2
|
|
3
|
+
## v0.2.3 (14 August 2015)
|
4
|
+
* Prefer `Site#transformed_code` to `Site#refactored_code` as the latter is odd when a Site is produced during a mutation rather than a refactoring.
|
5
|
+
|
3
6
|
## v0.2.2 (4 June 2015)
|
4
7
|
* Provide whole match special variable (&) for derivations
|
5
8
|
* Provide sensible default logic (derive the value of their first argument) for derivations
|
@@ -40,7 +40,7 @@ puts "Refactoring in source directory: #{base}"
|
|
40
40
|
puts "In #{path}:"
|
41
41
|
|
42
42
|
changes.each do |change|
|
43
|
-
puts "\tAt #{change.original_position}, inserting:\n\t\t#{change.
|
43
|
+
puts "\tAt #{change.original_position}, inserting:\n\t\t#{change.transformed_code}"
|
44
44
|
puts ""
|
45
45
|
end
|
46
46
|
|
@@ -2,10 +2,10 @@ require "attributable"
|
|
2
2
|
|
3
3
|
module Metamorpher
|
4
4
|
module Transformer
|
5
|
-
Site = Struct.new(:original_position, :original_code, :
|
5
|
+
Site = Struct.new(:original_position, :original_code, :transformed_code) do
|
6
6
|
def slide(offset)
|
7
7
|
new_position = (original_position.begin + offset)..(original_position.end + offset)
|
8
|
-
Site.new(new_position, original_code,
|
8
|
+
Site.new(new_position, original_code, transformed_code)
|
9
9
|
end
|
10
10
|
|
11
11
|
def merge_into(destination)
|
@@ -13,12 +13,12 @@ module Metamorpher
|
|
13
13
|
fail ArgumentError, "Position #{original_position} does not exist in: #{destination}"
|
14
14
|
end
|
15
15
|
|
16
|
-
destination[original_position] =
|
16
|
+
destination[original_position] = transformed_code
|
17
17
|
destination
|
18
18
|
end
|
19
19
|
|
20
20
|
def offset
|
21
|
-
|
21
|
+
transformed_code.size - original_code.size
|
22
22
|
end
|
23
23
|
|
24
24
|
def <=>(other)
|
data/lib/metamorpher/version.rb
CHANGED
data/metamorpher.gemspec
CHANGED
@@ -22,9 +22,9 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.add_runtime_dependency "parser", "~> 2.2.2"
|
23
23
|
spec.add_runtime_dependency "unparser", "~> 0.2.4"
|
24
24
|
|
25
|
-
spec.add_development_dependency "bundler", "~> 1.10.
|
25
|
+
spec.add_development_dependency "bundler", "~> 1.10.3"
|
26
26
|
spec.add_development_dependency "rake", "~> 10.4.2"
|
27
|
-
spec.add_development_dependency "rspec", "~> 3.
|
27
|
+
spec.add_development_dependency "rspec", "~> 3.3.0"
|
28
28
|
spec.add_development_dependency "codeclimate-test-reporter", "~> 0.4.6"
|
29
|
-
spec.add_development_dependency "rubocop", "~> 0.
|
29
|
+
spec.add_development_dependency "rubocop", "~> 0.33.0"
|
30
30
|
end
|
@@ -12,7 +12,7 @@ module Metamorpher
|
|
12
12
|
|
13
13
|
it "should not alter the code" do
|
14
14
|
expect(subject.slide(2).original_code).to eq("foo")
|
15
|
-
expect(subject.slide(2).
|
15
|
+
expect(subject.slide(2).transformed_code).to eq("bar")
|
16
16
|
end
|
17
17
|
|
18
18
|
it "should be chainable" do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metamorpher
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Louis Rose
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-08-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: attributable
|
@@ -58,14 +58,14 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 1.10.
|
61
|
+
version: 1.10.3
|
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: 1.10.
|
68
|
+
version: 1.10.3
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rake
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -86,14 +86,14 @@ dependencies:
|
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 3.
|
89
|
+
version: 3.3.0
|
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: 3.
|
96
|
+
version: 3.3.0
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: codeclimate-test-reporter
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -114,14 +114,14 @@ dependencies:
|
|
114
114
|
requirements:
|
115
115
|
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: 0.
|
117
|
+
version: 0.33.0
|
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.
|
124
|
+
version: 0.33.0
|
125
125
|
description: Provides structures that support program transformations, such as refactoring
|
126
126
|
or program mutation.
|
127
127
|
email:
|