fork_rails_project 0.0.2 → 0.0.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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/fork_rails_project.rb +3 -2
  3. data/lib/forker.rb +29 -22
  4. metadata +11 -11
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 183319270c8a7869b9b146514adbefe97baba73a
4
- data.tar.gz: 6a78cf625f8030189c909f9a7275ad3b79459598
3
+ metadata.gz: 5a856e246e95614f461389459e4dc729d5f425da
4
+ data.tar.gz: 3b2a35a7e6a2c00db0132d56abb864b6740a1a4d
5
5
  SHA512:
6
- metadata.gz: 6894a38ab8fb7e6de22ece86de809e62e231f99504b3865d7b4f9d13f5ac5e96677cba539125f402639a794f5d4639387cb46a13b8b4e754c6a03afe6677c291
7
- data.tar.gz: c72563313cc5fe379a2aaccf951956607d022190239dd8b5febf2382416386087a4e3c794bee68903187068232d37906effe9f287e5cbafe4a9c36845ecd1cac
6
+ metadata.gz: 95cd5b8591aad9c7ed4efaa3fd7c05c9258645c3846a48b52ba589e621716074d4ad6ff915abf50d224b8e6b3cf06477971cbb55cd600bb7e16052f050b5cc3e
7
+ data.tar.gz: a35cb4c084541f802c86856cc4383d21f6f9fbfbd2d8fb3e13cf75fd05be8ab4b5dd7f114e51f1e70386a7eacd73dfffb1d7e17afe25e26015933de1b718f375
@@ -6,6 +6,7 @@ source_project_name = ARGV[0].dup
6
6
  dest_project_name = ARGV[1].dup
7
7
  ignored_files = ARGV[2..-1]
8
8
 
9
- forker = ForkRailsProject::Forker.new(source_project_name, dest_project_name, ignored_files)
9
+ forker = ForkRailsProject::Forker.new(source_project_name,
10
+ dest_project_name,
11
+ ignored_files)
10
12
  forker.fork!
11
-
data/lib/forker.rb CHANGED
@@ -11,12 +11,12 @@ module ForkRailsProject
11
11
  @source_project_name = source_project_name
12
12
  @dest_project_name = dest_project_name
13
13
  @ignored_files = ignored_files
14
- folder_names = [] << @source_project_name << @dest_project_name
14
+ folder_names = [] << @source_project_name << @dest_project_name
15
15
 
16
- folder_names.each do |a|
17
- a.strip!
18
- if a.start_with?("/")
19
- a.slice!(0)
16
+ folder_names.each do |name|
17
+ name.strip!
18
+ if name.start_with?("/")
19
+ name.slice!(0)
20
20
  end
21
21
  end
22
22
 
@@ -46,17 +46,9 @@ module ForkRailsProject
46
46
  old_app_name = @source_project_name.camelize
47
47
  new_app_name = @dest_project_name.camelize
48
48
 
49
- # Are we inside an engine? If so, we have to rename some files and folders:
50
- if File.exists?("lib/#{@source_project_name}/engine.rb")
51
- # first step: copy and rename directories
52
- rename_file_objects(@source_project_name, @dest_project_name) do |old_paths|
53
- old_paths.keep_if { |path| File.directory?(path) }
54
- end
55
-
56
- # called without above block: copy and rename files in engine
57
- rename_file_objects(@source_project_name, @dest_project_name)
58
- puts
59
- end
49
+ copy_and_rename_directories
50
+ copy_and_rename_files
51
+ puts
60
52
 
61
53
  # alter snake_cased strings
62
54
  substitute_names(@source_project_name, dest_project_name)
@@ -67,6 +59,18 @@ module ForkRailsProject
67
59
 
68
60
  private
69
61
 
62
+ def copy_and_rename_directories
63
+ rename_file_objects(@source_project_name,
64
+ @dest_project_name) do |old_paths|
65
+ old_paths.keep_if { |path| File.directory?(path) }
66
+ end
67
+ end
68
+
69
+ def copy_and_rename_files
70
+ # called without block: only files are copied and renamed, not directories
71
+ rename_file_objects(@source_project_name, @dest_project_name)
72
+ end
73
+
70
74
  def copy_files(dest_path, ignored_files)
71
75
  copy_string = "rsync -ax "
72
76
  ignored_files.each do |file_name|
@@ -90,8 +94,8 @@ module ForkRailsProject
90
94
  end.compact
91
95
  old_file_paths = yield(old_file_paths) if block_given?
92
96
  files_to_move = old_file_paths.inject({}) do |hash, path|
93
- new_path = path.gsub(/#{old_name}/, new_name)
94
- hash[path] = new_path
97
+ new_path = path.gsub(/#{old_name}/, new_name)
98
+ hash[path] = new_path
95
99
  hash
96
100
  end
97
101
  files_to_move.each do |old, new|
@@ -103,7 +107,11 @@ module ForkRailsProject
103
107
 
104
108
  def substitute_names(old_name, new_name)
105
109
  puts "Replacing string '#{old_name}' in application files..."
106
- occurrences = %x[grep -iR "#{old_name}" --exclude-dir=log --exclude-dir=tmp --exclude=tags .]
110
+ command = "grep -iR "\
111
+ "#{old_name} "\
112
+ "--exclude-dir=log --exclude-dir=tmp "\
113
+ "--exclude=tags .".squish
114
+ occurrences = %x[#{command}]
107
115
  occurrences = occurrences.split("\n")
108
116
  files = occurrences.each.flat_map do |occ|
109
117
  occ.slice!(0..1)
@@ -122,12 +130,11 @@ module ForkRailsProject
122
130
  puts "Unable to alter new files!"
123
131
  end
124
132
 
125
- puts "Finished replacing string '#{old_name}' in application files."\
126
- " Altered files:"
133
+ puts "Finished replacing string '#{old_name}' in application files. "\
134
+ "Altered files:"
127
135
  files.each do |filename|
128
136
  puts filename
129
137
  end
130
138
  end
131
139
  end
132
140
  end
133
-
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fork_rails_project
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Huber
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-18 00:00:00.000000000 Z
11
+ date: 2015-05-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -28,30 +28,30 @@ dependencies:
28
28
  name: rspec
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '='
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 3.1.0
33
+ version: '3'
34
34
  type: :development
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: 3.1.0
40
+ version: '3'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: pry
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '='
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.10.1
47
+ version: '0'
48
48
  type: :development
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: 0.10.1
54
+ version: '0'
55
55
  description: Generates copies of existing app directories with automatic renaming/namespacing
56
56
  of contained files
57
57
  email: alih83@gmx.de
@@ -83,7 +83,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
83
83
  version: '0'
84
84
  requirements: []
85
85
  rubyforge_project:
86
- rubygems_version: 2.4.2
86
+ rubygems_version: 2.4.7
87
87
  signing_key:
88
88
  specification_version: 4
89
89
  summary: Script to set up forks of existing rails apps/engines