fork_rails_project 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
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