redbreast 0.1.2 → 1.0.0

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 (43) hide show
  1. checksums.yaml +5 -5
  2. data/.DS_Store +0 -0
  3. data/.rubocop.yml +5 -0
  4. data/README.md +102 -4
  5. data/Rakefile +3 -3
  6. data/bin/console +3 -3
  7. data/exe/redbreast +9 -7
  8. data/lib/.DS_Store +0 -0
  9. data/lib/redbreast.rb +25 -18
  10. data/lib/redbreast/.DS_Store +0 -0
  11. data/lib/redbreast/commands/color_generator.rb +54 -0
  12. data/lib/redbreast/commands/color_test_generator.rb +57 -0
  13. data/lib/redbreast/commands/configuration_installer.rb +29 -29
  14. data/lib/redbreast/commands/image_generator.rb +49 -47
  15. data/lib/redbreast/commands/image_test_generator.rb +57 -0
  16. data/lib/redbreast/commands/setup.rb +139 -92
  17. data/lib/redbreast/crawlers/color_crawler.rb +38 -0
  18. data/lib/redbreast/crawlers/image_crawler.rb +30 -10
  19. data/lib/redbreast/error_handler.rb +7 -6
  20. data/lib/redbreast/helpers/general.rb +73 -63
  21. data/lib/redbreast/helpers/hash.rb +8 -7
  22. data/lib/redbreast/helpers/terminal.rb +2 -3
  23. data/lib/redbreast/io/config.rb +14 -15
  24. data/lib/redbreast/serializers/objc_serializer.rb +66 -19
  25. data/lib/redbreast/serializers/serializer.rb +17 -16
  26. data/lib/redbreast/serializers/swift_serializer.rb +93 -2
  27. data/lib/redbreast/template_generators/.DS_Store +0 -0
  28. data/lib/redbreast/template_generators/colors/objc_colors_template_generator.rb +35 -0
  29. data/lib/redbreast/template_generators/colors/swift_colors_template_generator.rb +22 -0
  30. data/lib/redbreast/template_generators/images/objc_images_template_generator.rb +27 -41
  31. data/lib/redbreast/template_generators/images/swift_images_template_generator.rb +16 -21
  32. data/lib/redbreast/template_generators/objc_template_generator.rb +19 -19
  33. data/lib/redbreast/template_generators/swift_template_generator.rb +9 -10
  34. data/lib/redbreast/template_generators/tests/colors/objc_colors_tests_template_generator.rb +35 -0
  35. data/lib/redbreast/template_generators/tests/colors/swift_colors_tests_template_generator.rb +27 -0
  36. data/lib/redbreast/template_generators/tests/images/objc_images_tests_template_generator.rb +36 -0
  37. data/lib/redbreast/template_generators/tests/images/swift_images_tests_template_generator.rb +27 -0
  38. data/lib/redbreast/version.rb +1 -1
  39. data/redbreast.gemspec +21 -22
  40. metadata +35 -11
  41. data/lib/redbreast/commands/test_generator.rb +0 -56
  42. data/lib/redbreast/template_generators/tests/objc_tests_template_generator.rb +0 -39
  43. data/lib/redbreast/template_generators/tests/swift_tests_template_generator.rb +0 -31
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redbreast
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
- - Vlaho
7
+ - Maroje
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-06-03 00:00:00.000000000 Z
11
+ date: 2020-04-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -53,7 +53,21 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '3.0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: tty-prompt
56
+ name: rubocop
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '0.77'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '0.77'
69
+ - !ruby/object:Gem::Dependency
70
+ name: activesupport
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
73
  - - ">="
@@ -81,7 +95,7 @@ dependencies:
81
95
  - !ruby/object:Gem::Version
82
96
  version: '0'
83
97
  - !ruby/object:Gem::Dependency
84
- name: activesupport
98
+ name: tty-prompt
85
99
  requirement: !ruby/object:Gem::Requirement
86
100
  requirements:
87
101
  - - ">="
@@ -110,7 +124,7 @@ dependencies:
110
124
  version: '0'
111
125
  description:
112
126
  email:
113
- - vlaho.poluta@infinum.hr
127
+ - maroje.marcelic@infinum.com
114
128
  executables:
115
129
  - redbreast
116
130
  extensions: []
@@ -119,6 +133,7 @@ files:
119
133
  - ".DS_Store"
120
134
  - ".gitignore"
121
135
  - ".rspec"
136
+ - ".rubocop.yml"
122
137
  - ".travis.yml"
123
138
  - CODE_OF_CONDUCT.md
124
139
  - Gemfile
@@ -128,11 +143,16 @@ files:
128
143
  - bin/console
129
144
  - bin/setup
130
145
  - exe/redbreast
146
+ - lib/.DS_Store
131
147
  - lib/redbreast.rb
148
+ - lib/redbreast/.DS_Store
149
+ - lib/redbreast/commands/color_generator.rb
150
+ - lib/redbreast/commands/color_test_generator.rb
132
151
  - lib/redbreast/commands/configuration_installer.rb
133
152
  - lib/redbreast/commands/image_generator.rb
153
+ - lib/redbreast/commands/image_test_generator.rb
134
154
  - lib/redbreast/commands/setup.rb
135
- - lib/redbreast/commands/test_generator.rb
155
+ - lib/redbreast/crawlers/color_crawler.rb
136
156
  - lib/redbreast/crawlers/image_crawler.rb
137
157
  - lib/redbreast/error_handler.rb
138
158
  - lib/redbreast/helpers/general.rb
@@ -142,12 +162,17 @@ files:
142
162
  - lib/redbreast/serializers/objc_serializer.rb
143
163
  - lib/redbreast/serializers/serializer.rb
144
164
  - lib/redbreast/serializers/swift_serializer.rb
165
+ - lib/redbreast/template_generators/.DS_Store
166
+ - lib/redbreast/template_generators/colors/objc_colors_template_generator.rb
167
+ - lib/redbreast/template_generators/colors/swift_colors_template_generator.rb
145
168
  - lib/redbreast/template_generators/images/objc_images_template_generator.rb
146
169
  - lib/redbreast/template_generators/images/swift_images_template_generator.rb
147
170
  - lib/redbreast/template_generators/objc_template_generator.rb
148
171
  - lib/redbreast/template_generators/swift_template_generator.rb
149
- - lib/redbreast/template_generators/tests/objc_tests_template_generator.rb
150
- - lib/redbreast/template_generators/tests/swift_tests_template_generator.rb
172
+ - lib/redbreast/template_generators/tests/colors/objc_colors_tests_template_generator.rb
173
+ - lib/redbreast/template_generators/tests/colors/swift_colors_tests_template_generator.rb
174
+ - lib/redbreast/template_generators/tests/images/objc_images_tests_template_generator.rb
175
+ - lib/redbreast/template_generators/tests/images/swift_images_tests_template_generator.rb
151
176
  - lib/redbreast/version.rb
152
177
  - redbreast.gemspec
153
178
  homepage: https://github.com/infinum/redbreast
@@ -170,8 +195,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
170
195
  - !ruby/object:Gem::Version
171
196
  version: '0'
172
197
  requirements: []
173
- rubyforge_project:
174
- rubygems_version: 2.6.11
198
+ rubygems_version: 3.0.6
175
199
  signing_key:
176
200
  specification_version: 4
177
201
  summary: A CLI for safe and strongly typed resources
@@ -1,56 +0,0 @@
1
- module Redbreast
2
- module Command
3
- class TestGenerator
4
- include Helper::Terminal
5
- include Helper::General
6
-
7
- def self.init
8
- new.call
9
- end
10
-
11
- def call
12
- filtered_bundles = bundles.select { |bundle| bundle[:outputTestPath] }
13
- return if filtered_bundles.empty?
14
-
15
- prompt.say("Generating test resources...")
16
- generate_test_sources(bundles, programming_language)
17
- success("Test resources generated!")
18
- end
19
-
20
- private
21
-
22
- def generate_test_sources(bundles, programming_language)
23
- bundles.each do |bundle|
24
- image_names = pull_asset_names(bundle[:assetsSearchPath])
25
-
26
- write_tests(image_names, bundle, programming_language)
27
- end
28
- end
29
-
30
- # Serializing data
31
-
32
- def write_tests(image_names, bundle, programming_language)
33
- output_path = bundle[:outputTestPath]
34
- return if output_path.to_s.empty?
35
- case programming_language.downcase
36
- when "objc"
37
- serializer = Redbreast::Serializer::ObjC
38
- template_generator = Redbreast::TemplateGenerator::Test::ObjC
39
- when "swift"
40
- serializer = Redbreast::Serializer::Swift
41
- template_generator = Redbreast::TemplateGenerator::Test::Swift
42
- end
43
- serializer.new(image_names, bundle).save(output_path, template_generator.new)
44
- end
45
-
46
- # Pulling data
47
-
48
- def pull_asset_names(assetsSearchPath)
49
- Redbreast::Crawler::Image
50
- .image_names_uniq(assetsSearchPath)
51
- end
52
-
53
- end
54
- end
55
- end
56
-
@@ -1,39 +0,0 @@
1
- require_relative '../objc_template_generator'
2
-
3
- module Redbreast
4
- module TemplateGenerator
5
- module Test
6
- class ObjC < TemplateGenerator::ObjC
7
- include ERB::Util
8
-
9
- def h_template()
10
- nil
11
- end
12
-
13
- def m_template()
14
- <<-TEMPLATE
15
-
16
- #import <XCTest/XCTest.h>
17
- #import <"UIImage+<%= File.basename(bundle[:outputSourcePath]) %>.h">
18
-
19
- @interface <%= File.basename(bundle[:outputTestPath]) %> : XCTestCase
20
-
21
- @end
22
-
23
- @implementation Test
24
-
25
- - (void)testExample {
26
- <%- image_names.each do |name| -%>
27
- [UIImage clean_variable_name(name)];
28
- <%- end -%>
29
- }
30
-
31
- @end
32
-
33
- TEMPLATE
34
- end
35
-
36
- end
37
- end
38
- end
39
- end
@@ -1,31 +0,0 @@
1
- require_relative '../swift_template_generator'
2
-
3
- module Redbreast
4
- module TemplateGenerator
5
- module Test
6
- class Swift < TemplateGenerator::Swift
7
- include ERB::Util
8
-
9
- def template()
10
- <<-TEMPLATE
11
-
12
- import UIKit
13
- @testable import <%= bundle[:testableImport] %>
14
-
15
- //THIS FILE IS AUTOGENERATED, DO NOT EDIT BY HAND
16
- class <%= File.basename(bundle[:outputTestPath], ".*") %>: XCTestCase {
17
-
18
- func testIfImagesArePresent() {
19
- <%- image_names.each do |name| -%>
20
- _ = UIImage.<%= clean_variable_name(name) %>
21
- <%- end -%>
22
- }
23
-
24
- }
25
-
26
- TEMPLATE
27
- end
28
- end
29
- end
30
- end
31
- end