generamba-mp 0.0.5 → 1.4.1

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: 4cf24c7bef74d63bd1a60fa24e1a13d8acfaf652
4
- data.tar.gz: fafff07f593f7d39d2be0aaea8e1749f1007d535
3
+ metadata.gz: 4b1d6586562fa645d9ab438d6ea44e40be1d255e
4
+ data.tar.gz: 88e83c9d0795a185e1ebee70e81995d485d37188
5
5
  SHA512:
6
- metadata.gz: 00aace9efe6aec620ed780c8a374a54c01d6715cacf5a7cab0c0aae8a04b2f11bc699485d605c7abfce113a921f54985a3975f3acd14d720b4d35b267bb3b728
7
- data.tar.gz: 9c578a7ff41873246efba781363ff3914f306339ac86af4e942b49b68c2b654160159248e34ea96d43dfa5d01b8769beb71089deaae89740645634fe247fba30
6
+ metadata.gz: cd909e848bacfc266e48a9c59005c10c3ce764c054e3bacf45a8e46f238bfbd0736c57843499124e166a7f6a8b309792a9f00297ae4c01da64962e43b34786fc
7
+ data.tar.gz: 58a9fb53d5f4d1db27d11fe5d09e5cc31631daefd6dcfeceeabbd2baa34c24f63827e5ebd936a38d91a3e13876d983c7e662eef58cf1e3582ebeb719aa0e75a9
@@ -5,13 +5,13 @@ require 'generamba/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = 'generamba-mp'
8
- spec.version = '0.0.5'
9
- spec.authors = ['Egor Tolstoy', 'Andrey Zarembo', 'Beniamin Sarkisyan', 'Aleksandr Sychev','Marton Pito']
8
+ spec.version = Generamba::VERSION
9
+ spec.authors = ['Marton Pito']
10
10
  spec.email = 'martonpito@gmail.com'
11
11
 
12
- spec.summary = 'FORKED FOR OWN USAGE! Advanced code generator for Xcode projects with a nice and flexible template system.'
12
+ spec.summary = 'Generamba forked for own modifications.'
13
13
  spec.description = 'Generamba is a powerful and easy-to-use Xcode code generator. It provides a project-based configuration, flexible templates system, the ability to generate code and tests simultaneously.'
14
- spec.homepage = 'https://github.com/rambler-digital-solutions/Generamba'
14
+ spec.homepage = 'https://github.com/Hunartimon/Generamba'
15
15
  spec.license = 'MIT'
16
16
 
17
17
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
@@ -8,9 +8,9 @@ require 'generamba/cli/version_command.rb'
8
8
  require 'generamba/cli/setup_username_command.rb'
9
9
  require 'generamba/cli/thor_extension.rb'
10
10
  require 'generamba/cli/template/template_group.rb'
11
- require 'generamba/tools/liquid-camelcase.rb'
12
11
 
13
12
  module Generamba::CLI
14
13
  class Application < Thor
14
+
15
15
  end
16
16
  end
@@ -1,5 +1,4 @@
1
1
  require 'thor'
2
- require 'liquid'
3
2
  require 'generamba/helpers/print_table.rb'
4
3
  require 'generamba/helpers/rambafile_validator.rb'
5
4
  require 'generamba/helpers/xcodeproj_helper.rb'
@@ -59,20 +58,15 @@ module Generamba::CLI
59
58
  DependencyChecker.check_all_required_dependencies_has_in_cartfile(template.dependencies, code_module.cartfile_path)
60
59
 
61
60
  project = XcodeprojHelper.obtain_project(code_module.xcodeproj_path)
62
-
63
- template.code_files.each do |file|
64
- file_group = File.join(code_module.project_group_path, "/", File.dirname(file[TEMPLATE_NAME_KEY]))
65
-
66
- if XcodeprojHelper.module_with_group_path_already_exists(project, file_group)
67
- replace_exists_module = yes?("#{module_name} module already exists. Replace? (yes/no)")
68
-
69
- unless replace_exists_module
70
- return
71
- else
72
- break
73
- end
74
- end
75
- end
61
+ module_group_already_exists = XcodeprojHelper.module_with_group_path_already_exists(project, code_module.project_group_path)
62
+
63
+ if module_group_already_exists
64
+ replace_exists_module = yes?("#{module_name} module already exists. Replace? (yes/no)")
65
+
66
+ unless replace_exists_module
67
+ return
68
+ end
69
+ end
76
70
 
77
71
  generator = Generamba::ModuleGenerator.new
78
72
  generator.generate_module(module_name, code_module, template)
@@ -81,8 +81,7 @@ module Generamba
81
81
  file_path = group_path unless file_path
82
82
 
83
83
  variable_value = file_path.gsub(SLASH_REGEX, '')
84
- variable_value = Pathname.new(variable_value)#.join(@name)
85
- puts("setup_file_and_group_paths variable_value: #{variable_value}")
84
+ variable_value = Pathname.new(variable_value).join(@name)
86
85
  instance_variable_set("@#{variable_name}", variable_value)
87
86
  end
88
87
 
@@ -92,8 +91,7 @@ module Generamba
92
91
  group_path = file_path unless group_path
93
92
 
94
93
  variable_value = group_path.gsub(SLASH_REGEX, '')
95
- variable_value = Pathname.new(variable_value)#.join(@name)
96
- puts("setup_file_and_group_paths variable_value: #{variable_value}")
94
+ variable_value = Pathname.new(variable_value).join(@name)
97
95
  instance_variable_set("@#{variable_name}", variable_value)
98
96
  end
99
97
  end
@@ -24,8 +24,6 @@ module Generamba
24
24
  file_path = file_path.join(file_group_path) if file_group_path
25
25
  file_path = file_path.join(file_name) if file_name
26
26
 
27
- puts "add_file_to_project_and_targets file_path: #{file_path}"
28
-
29
27
  module_group = self.retrieve_group_or_create_if_needed(group_path, dir_path, file_group_path, project, true)
30
28
  xcode_file = module_group.new_file(File.absolute_path(file_path))
31
29
 
@@ -48,7 +46,6 @@ module Generamba
48
46
  #
49
47
  # @return [void]
50
48
  def self.add_group_to_project(project, group_path, dir_path, directory_name)
51
- puts "add_group_to_project: group_path: #{group_path}, dir_path: #{dir_path}, directory_name: #{directory_name} "
52
49
  self.retrieve_group_or_create_if_needed(group_path, dir_path, directory_name, project, true)
53
50
  end
54
51
 
@@ -75,11 +72,9 @@ module Generamba
75
72
  # @return [Void]
76
73
  def self.clear_group(project, targets_name, group_path)
77
74
  module_group = self.retrieve_group_or_create_if_needed(group_path, nil, nil, project, false)
78
- puts "clear_group: group_path: #{group_path} module_group: #{module_group}"
79
75
  return unless module_group
80
76
 
81
77
  files_path = self.files_path_from_group(module_group, project)
82
- puts "clear_group: group_path: #{group_path} files_path: #{files_path}"
83
78
  return unless files_path
84
79
 
85
80
  files_path.each do |file_path|
@@ -110,16 +105,15 @@ module Generamba
110
105
  #
111
106
  # @return [PBXGroup]
112
107
  def self.retrieve_group_or_create_if_needed(group_path, dir_path, file_group_path, project, create_group_if_not_exists)
113
-
114
108
  group_names = path_names_from_path(group_path)
115
109
  group_components_count = group_names.count
116
110
  group_names += path_names_from_path(file_group_path) if file_group_path
117
- puts "retrieve_group_or_create_if_needed group_names: #{group_names}" unless create_group_if_not_exists
111
+
118
112
  final_group = project
119
113
 
120
114
  group_names.each_with_index do |group_name, index|
121
115
  next_group = final_group[group_name]
122
- # puts "retrieve_group_or_create_if_needed next_group: #{next_group}" unless create_group_if_not_exists
116
+
123
117
  unless next_group
124
118
  return nil unless create_group_if_not_exists
125
119
 
@@ -132,7 +126,7 @@ module Generamba
132
126
 
133
127
  final_group = next_group
134
128
  end
135
- # puts "final_group: #{final_group}" unless create_group_if_not_exists
129
+
136
130
  final_group
137
131
  end
138
132
 
@@ -55,22 +55,12 @@ module Generamba
55
55
  def process_files_if_needed(files, code_module, template, project, targets, group_path, dir_path, processed_groups = [])
56
56
  # It's possible that current project doesn't test targets configured, so it doesn't need to generate tests.
57
57
  # The same is for files property - a template can have only test or project files
58
- puts "process_files_if_needed: group_path: #{group_path}\n dir_path: #{dir_path}\n"
59
58
  if targets.count == 0 || files == nil || files.count == 0 || dir_path == nil || group_path == nil
60
59
  return
61
60
  end
62
61
 
62
+ XcodeprojHelper.clear_group(project, targets, group_path) unless processed_groups.include? group_path
63
63
  files.each do |file|
64
-
65
- file_group = File.dirname(file[TEMPLATE_NAME_KEY])
66
- file_group = nil if file_group == '.'
67
-
68
- unless processed_groups.include? File.join(group_path, "/", file_group)
69
- # puts "process_files_if_needed: file_group: #{File.join(group_path, "/", file_group)}"
70
- XcodeprojHelper.clear_group(project, targets, File.join(group_path, "/", file_group))
71
- processed_groups.push(File.join(group_path, "/", file_group))
72
- end
73
-
74
64
  unless file[TEMPLATE_FILE_PATH_KEY]
75
65
  directory_name = file[TEMPLATE_NAME_KEY].gsub(/^\/|\/$/, '')
76
66
  file_group = dir_path.join(directory_name)
@@ -81,6 +71,9 @@ module Generamba
81
71
  next
82
72
  end
83
73
 
74
+ file_group = File.dirname(file[TEMPLATE_NAME_KEY])
75
+ file_group = nil if file_group == '.'
76
+
84
77
  module_info = ModuleInfoGenerator.new(code_module)
85
78
 
86
79
  # Generating the content of the code file and it's name
metadata CHANGED
@@ -1,18 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: generamba-mp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 1.4.1
5
5
  platform: ruby
6
6
  authors:
7
- - Egor Tolstoy
8
- - Andrey Zarembo
9
- - Beniamin Sarkisyan
10
- - Aleksandr Sychev
11
7
  - Marton Pito
12
8
  autorequire:
13
9
  bindir: bin
14
10
  cert_chain: []
15
- date: 2018-05-19 00:00:00.000000000 Z
11
+ date: 2018-05-14 00:00:00.000000000 Z
16
12
  dependencies:
17
13
  - !ruby/object:Gem::Dependency
18
14
  name: thor
@@ -183,12 +179,10 @@ executables:
183
179
  extensions: []
184
180
  extra_rdoc_files: []
185
181
  files:
186
- - ".DS_Store"
187
182
  - ".codeclimate.yml"
188
183
  - ".gitignore"
189
184
  - ".rspec"
190
185
  - ".travis.yml"
191
- - ".vscode/launch.json"
192
186
  - CHANGELOG.md
193
187
  - Gemfile
194
188
  - LICENSE.txt
@@ -248,10 +242,9 @@ files:
248
242
  - lib/generamba/template/installer/template_installer_factory.rb
249
243
  - lib/generamba/template/processor/template_declaration.rb
250
244
  - lib/generamba/template/processor/template_processor.rb
251
- - lib/generamba/tools/liquid-camelcase.rb
252
245
  - lib/generamba/tools/string-colorize.rb
253
246
  - lib/generamba/version.rb
254
- homepage: https://github.com/rambler-digital-solutions/Generamba
247
+ homepage: https://github.com/Hunartimon/Generamba
255
248
  licenses:
256
249
  - MIT
257
250
  metadata: {}
@@ -274,6 +267,5 @@ rubyforge_project:
274
267
  rubygems_version: 2.5.2
275
268
  signing_key:
276
269
  specification_version: 4
277
- summary: FORKED FOR OWN USAGE! Advanced code generator for Xcode projects with a nice
278
- and flexible template system.
270
+ summary: Generamba forked for own modifications.
279
271
  test_files: []
data/.DS_Store DELETED
Binary file
@@ -1,64 +0,0 @@
1
- {
2
- // Use IntelliSense to learn about possible attributes.
3
- // Hover to view descriptions of existing attributes.
4
- // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5
- "version": "0.2.0",
6
- "configurations": [
7
- {
8
- "name": "Debug Local File",
9
- "type": "Ruby",
10
- "request": "launch",
11
- "cwd": "${workspaceRoot}",
12
- "program": "${workspaceRoot}/bin/generamba"
13
- },
14
- {
15
- "name": "Listen for rdebug-ide",
16
- "type": "Ruby",
17
- "request": "attach",
18
- "cwd": "${workspaceRoot}",
19
- "remoteHost": "127.0.0.1",
20
- "remotePort": "1234",
21
- "remoteWorkspaceRoot": "${workspaceRoot}"
22
- },
23
- {
24
- "name": "Rails server",
25
- "type": "Ruby",
26
- "request": "launch",
27
- "cwd": "${workspaceRoot}",
28
- "program": "${workspaceRoot}/bin/rails",
29
- "args": [
30
- "server"
31
- ]
32
- },
33
- {
34
- "name": "RSpec - all",
35
- "type": "Ruby",
36
- "request": "launch",
37
- "cwd": "${workspaceRoot}",
38
- "program": "${workspaceRoot}/bin/rspec",
39
- "args": [
40
- "-I",
41
- "${workspaceRoot}"
42
- ]
43
- },
44
- {
45
- "name": "RSpec - active spec file only",
46
- "type": "Ruby",
47
- "request": "launch",
48
- "cwd": "${workspaceRoot}",
49
- "program": "${workspaceRoot}/bin/rspec",
50
- "args": [
51
- "-I",
52
- "${workspaceRoot}",
53
- "${file}"
54
- ]
55
- },
56
- {
57
- "name": "Cucumber",
58
- "type": "Ruby",
59
- "request": "launch",
60
- "cwd": "${workspaceRoot}",
61
- "program": "${workspaceRoot}/bin/cucumber"
62
- }
63
- ]
64
- }
@@ -1,14 +0,0 @@
1
- require 'liquid'
2
- require 'uri'
3
-
4
- # Camelize all words of the input
5
- module Camelize
6
-
7
- def camelize(term)
8
- string = term.to_s
9
- return string.camelize(:lower)
10
- end
11
-
12
- end
13
-
14
- Liquid::Template.register_filter(Camelize)