redbreast 0.1.0 → 1.0.2
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 +5 -5
- data/.DS_Store +0 -0
- data/.rubocop.yml +5 -0
- data/README.md +102 -4
- data/Rakefile +3 -3
- data/bin/console +3 -3
- data/exe/redbreast +17 -5
- data/lib/.DS_Store +0 -0
- data/lib/redbreast.rb +25 -17
- data/lib/redbreast/.DS_Store +0 -0
- data/lib/redbreast/commands/color_generator.rb +54 -0
- data/lib/redbreast/commands/color_test_generator.rb +57 -0
- data/lib/redbreast/commands/configuration_installer.rb +37 -0
- data/lib/redbreast/commands/image_generator.rb +49 -47
- data/lib/redbreast/commands/image_test_generator.rb +57 -0
- data/lib/redbreast/commands/setup.rb +139 -91
- data/lib/redbreast/crawlers/color_crawler.rb +38 -0
- data/lib/redbreast/crawlers/image_crawler.rb +30 -10
- data/lib/redbreast/error_handler.rb +7 -6
- data/lib/redbreast/helpers/general.rb +73 -63
- data/lib/redbreast/helpers/hash.rb +8 -8
- data/lib/redbreast/helpers/terminal.rb +2 -3
- data/lib/redbreast/io/config.rb +14 -15
- data/lib/redbreast/serializers/objc_serializer.rb +66 -19
- data/lib/redbreast/serializers/serializer.rb +17 -16
- data/lib/redbreast/serializers/swift_serializer.rb +90 -2
- data/lib/redbreast/template_generators/.DS_Store +0 -0
- data/lib/redbreast/template_generators/colors/objc_colors_template_generator.rb +35 -0
- data/lib/redbreast/template_generators/colors/swift_colors_template_generator.rb +22 -0
- data/lib/redbreast/template_generators/images/objc_images_template_generator.rb +27 -41
- data/lib/redbreast/template_generators/images/swift_images_template_generator.rb +16 -21
- data/lib/redbreast/template_generators/objc_template_generator.rb +19 -19
- data/lib/redbreast/template_generators/swift_template_generator.rb +9 -10
- data/lib/redbreast/template_generators/tests/colors/objc_colors_tests_template_generator.rb +35 -0
- data/lib/redbreast/template_generators/tests/colors/swift_colors_tests_template_generator.rb +27 -0
- data/lib/redbreast/template_generators/tests/images/objc_images_tests_template_generator.rb +36 -0
- data/lib/redbreast/template_generators/tests/images/swift_images_tests_template_generator.rb +27 -0
- data/lib/redbreast/version.rb +1 -1
- data/redbreast.gemspec +22 -22
- metadata +54 -15
- data/lib/redbreast/commands/test_generator.rb +0 -56
- data/lib/redbreast/template_generators/tests/objc_tests_template_generator.rb +0 -39
- data/lib/redbreast/template_generators/tests/swift_tests_template_generator.rb +0 -31
@@ -1,28 +1,23 @@
|
|
1
|
-
require_relative '../swift_template_generator'
|
1
|
+
require_relative '../swift_template_generator'
|
2
2
|
|
3
3
|
module Redbreast
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
4
|
+
module TemplateGenerator
|
5
|
+
module Image
|
6
|
+
# Used for creating images in swift.
|
7
|
+
class Swift < TemplateGenerator::Swift
|
8
|
+
include ERB::Util
|
8
9
|
|
9
|
-
|
10
|
-
|
10
|
+
def template
|
11
|
+
<<~TEMPLATE
|
12
|
+
import UIKit
|
11
13
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
<%- image_names.each do |name| -%>
|
18
|
-
static var <%= clean_variable_name(name) %>: UIImage { return UIImage(named: "<%= name %>", in: <%= bundle[:reference] %>, compatibleWith: nil)! }
|
19
|
-
<%- end -%>
|
20
|
-
|
21
|
-
}
|
22
|
-
|
23
|
-
TEMPLATE
|
24
|
-
end
|
25
|
-
end
|
14
|
+
//THIS FILE IS AUTOGENERATED, DO NOT EDIT BY HAND
|
15
|
+
<%= generate_extension('UIImage', app_name) %>
|
16
|
+
<%= generate_file_swift(names: asset_names, variable: 'static var %s: UIImage { return UIImage(named: "%s", in: %s, compatibleWith: nil)! }', bundle: bundle) %>
|
17
|
+
}
|
18
|
+
TEMPLATE
|
26
19
|
end
|
20
|
+
end
|
27
21
|
end
|
22
|
+
end
|
28
23
|
end
|
@@ -1,24 +1,24 @@
|
|
1
|
+
|
1
2
|
module Redbreast
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
3
|
+
module TemplateGenerator
|
4
|
+
# Class for creating ObjC templates
|
5
|
+
class ObjC
|
6
|
+
include ERB::Util
|
7
|
+
def h_filename
|
8
|
+
raise NotImplementedError, 'Abstract Method'
|
9
|
+
end
|
9
10
|
|
10
|
-
|
11
|
-
|
12
|
-
|
11
|
+
def m_filename
|
12
|
+
raise NotImplementedError, 'Abstract Method'
|
13
|
+
end
|
13
14
|
|
14
|
-
|
15
|
-
|
16
|
-
|
15
|
+
def h_template
|
16
|
+
raise NotImplementedError, 'Abstract Method'
|
17
|
+
end
|
17
18
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
end
|
19
|
+
def m_template
|
20
|
+
raise NotImplementedError, 'Abstract Method'
|
21
|
+
end
|
23
22
|
end
|
24
|
-
end
|
23
|
+
end
|
24
|
+
end
|
@@ -1,12 +1,11 @@
|
|
1
1
|
module Redbreast
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
end
|
2
|
+
module TemplateGenerator
|
3
|
+
# Class for creating Swift templates
|
4
|
+
class Swift
|
5
|
+
include ERB::Util
|
6
|
+
def template
|
7
|
+
raise NotImplementedError, 'Abstract Method'
|
8
|
+
end
|
11
9
|
end
|
12
|
-
end
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'redbreast/template_generators/objc_template_generator'
|
2
|
+
|
3
|
+
module Redbreast
|
4
|
+
module TemplateGenerator
|
5
|
+
module ColorTest
|
6
|
+
# Used for creating color tests in objective-c.
|
7
|
+
class ObjC < TemplateGenerator::ObjC
|
8
|
+
include ERB::Util
|
9
|
+
def h_template
|
10
|
+
nil
|
11
|
+
end
|
12
|
+
|
13
|
+
def m_template
|
14
|
+
<<~TEMPLATE
|
15
|
+
|
16
|
+
#import <XCTest/XCTest.h>
|
17
|
+
#import "UIColor+<%= app_name.nil? ? "Common" : app_name %>.h"
|
18
|
+
|
19
|
+
@interface <%= File.basename(bundle[:outputTestPathColors]) %> : XCTestCase
|
20
|
+
|
21
|
+
@end
|
22
|
+
|
23
|
+
@implementation Test
|
24
|
+
|
25
|
+
- (void)testExample
|
26
|
+
{<%= create_objc_test_cases(names: asset_names, variable: '\n\t[UIColor %s];')%>
|
27
|
+
}
|
28
|
+
|
29
|
+
@end
|
30
|
+
TEMPLATE
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'redbreast/template_generators/swift_template_generator'
|
2
|
+
|
3
|
+
module Redbreast
|
4
|
+
module TemplateGenerator
|
5
|
+
module ColorTest
|
6
|
+
# Used for creating color tests in swift.
|
7
|
+
class Swift < TemplateGenerator::Swift
|
8
|
+
include ERB::Util
|
9
|
+
def template
|
10
|
+
<<~TEMPLATE
|
11
|
+
import UIKit
|
12
|
+
import XCTest
|
13
|
+
@testable import <%= bundle[:testableImport] %>
|
14
|
+
|
15
|
+
//THIS FILE IS AUTOGENERATED, DO NOT EDIT BY HAND
|
16
|
+
class <%= File.basename(bundle[:outputTestPathColors], ".*") %>: XCTestCase {
|
17
|
+
|
18
|
+
func testIfColorsArePresent() {
|
19
|
+
<%= create_swift_test_cases(names: asset_names, declaration: '_ = UIColor.', app_name: app_name) %>
|
20
|
+
}
|
21
|
+
}
|
22
|
+
TEMPLATE
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'redbreast/template_generators/objc_template_generator'
|
2
|
+
|
3
|
+
module Redbreast
|
4
|
+
module TemplateGenerator
|
5
|
+
module ImageTest
|
6
|
+
# Used for creating image tests in objective-c.
|
7
|
+
class ObjC < TemplateGenerator::ObjC
|
8
|
+
include ERB::Util
|
9
|
+
def h_template
|
10
|
+
nil
|
11
|
+
end
|
12
|
+
|
13
|
+
def m_template
|
14
|
+
<<~TEMPLATE
|
15
|
+
|
16
|
+
#import <XCTest/XCTest.h>
|
17
|
+
#import "UIImage+<%= app_name.nil? ? "Common" : app_name %>.h"
|
18
|
+
|
19
|
+
@interface <%= File.basename(bundle[:outputTestPathImages]) %> : XCTestCase
|
20
|
+
|
21
|
+
@end
|
22
|
+
|
23
|
+
@implementation Test
|
24
|
+
|
25
|
+
- (void)testExample
|
26
|
+
{<%= create_objc_test_cases(names: asset_names, variable: '\n\t[UIImage %s];')%>
|
27
|
+
}
|
28
|
+
|
29
|
+
@end
|
30
|
+
TEMPLATE
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'redbreast/template_generators/swift_template_generator'
|
2
|
+
|
3
|
+
module Redbreast
|
4
|
+
module TemplateGenerator
|
5
|
+
module ImageTest
|
6
|
+
# Used for creating image tests in swift.
|
7
|
+
class Swift < TemplateGenerator::Swift
|
8
|
+
include ERB::Util
|
9
|
+
def template
|
10
|
+
<<~TEMPLATE
|
11
|
+
import UIKit
|
12
|
+
import XCTest
|
13
|
+
@testable import <%= bundle[:testableImport] %>
|
14
|
+
|
15
|
+
//THIS FILE IS AUTOGENERATED, DO NOT EDIT BY HAND
|
16
|
+
class <%= File.basename(bundle[:outputTestPathImages], ".*") %>: XCTestCase {
|
17
|
+
|
18
|
+
func testIfImagesArePresent() {
|
19
|
+
<%= create_swift_test_cases(names: asset_names, declaration: '_ = UIImage.', app_name: app_name) %>
|
20
|
+
}
|
21
|
+
}
|
22
|
+
TEMPLATE
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
data/lib/redbreast/version.rb
CHANGED
data/redbreast.gemspec
CHANGED
@@ -1,40 +1,40 @@
|
|
1
|
-
|
2
|
-
lib = File.expand_path('../lib', __FILE__)
|
1
|
+
lib = File.expand_path('lib', __dir__)
|
3
2
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
3
|
require 'redbreast/version'
|
5
4
|
|
6
5
|
Gem::Specification.new do |spec|
|
7
|
-
spec.name
|
8
|
-
spec.version
|
9
|
-
spec.authors
|
10
|
-
spec.email
|
6
|
+
spec.name = 'redbreast'
|
7
|
+
spec.version = Redbreast::VERSION
|
8
|
+
spec.authors = ['Maroje']
|
9
|
+
spec.email = ['maroje.marcelic@infinum.com']
|
11
10
|
|
12
|
-
spec.summary
|
13
|
-
spec.homepage
|
14
|
-
spec.license
|
11
|
+
spec.summary = 'A CLI for safe and strongly typed resources'
|
12
|
+
spec.homepage = 'https://github.com/infinum/redbreast'
|
13
|
+
spec.license = 'MIT'
|
15
14
|
|
16
15
|
# Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
|
17
16
|
# to allow pushing to a single host or delete this section to allow pushing to any host.
|
18
17
|
if spec.respond_to?(:metadata)
|
19
|
-
spec.metadata['allowed_push_host'] =
|
18
|
+
spec.metadata['allowed_push_host'] = 'https://rubygems.org'
|
20
19
|
else
|
21
|
-
raise
|
22
|
-
|
20
|
+
raise 'RubyGems 2.0 or newer is required to protect against ' \
|
21
|
+
'public gem pushes.'
|
23
22
|
end
|
24
23
|
|
25
|
-
spec.files
|
24
|
+
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
26
25
|
f.match(%r{^(test|spec|features)/})
|
27
26
|
end
|
28
|
-
spec.bindir
|
29
|
-
spec.executables
|
30
|
-
spec.require_paths = [
|
27
|
+
spec.bindir = 'exe'
|
28
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
29
|
+
spec.require_paths = ['lib']
|
31
30
|
|
32
|
-
spec.add_development_dependency
|
33
|
-
spec.add_development_dependency
|
34
|
-
spec.add_development_dependency
|
31
|
+
spec.add_development_dependency 'bundler', '~> 1.14'
|
32
|
+
spec.add_development_dependency 'rake', '~> 10.0'
|
33
|
+
spec.add_development_dependency 'rspec', '~> 3.0'
|
34
|
+
spec.add_development_dependency 'rubocop', '~> 0.77'
|
35
35
|
|
36
|
-
spec.add_dependency 'tty-prompt'
|
37
|
-
spec.add_dependency 'commander'
|
38
36
|
spec.add_dependency 'activesupport'
|
39
|
-
|
37
|
+
spec.add_dependency 'commander'
|
38
|
+
spec.add_dependency 'tty-prompt'
|
39
|
+
spec.add_dependency 'xcodeproj'
|
40
40
|
end
|
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:
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
8
|
-
autorequire:
|
7
|
+
- Maroje
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-04-21 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:
|
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,21 @@ dependencies:
|
|
81
95
|
- !ruby/object:Gem::Version
|
82
96
|
version: '0'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
98
|
+
name: tty-prompt
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: xcodeproj
|
85
113
|
requirement: !ruby/object:Gem::Requirement
|
86
114
|
requirements:
|
87
115
|
- - ">="
|
@@ -94,9 +122,9 @@ dependencies:
|
|
94
122
|
- - ">="
|
95
123
|
- !ruby/object:Gem::Version
|
96
124
|
version: '0'
|
97
|
-
description:
|
125
|
+
description:
|
98
126
|
email:
|
99
|
-
-
|
127
|
+
- maroje.marcelic@infinum.com
|
100
128
|
executables:
|
101
129
|
- redbreast
|
102
130
|
extensions: []
|
@@ -105,6 +133,7 @@ files:
|
|
105
133
|
- ".DS_Store"
|
106
134
|
- ".gitignore"
|
107
135
|
- ".rspec"
|
136
|
+
- ".rubocop.yml"
|
108
137
|
- ".travis.yml"
|
109
138
|
- CODE_OF_CONDUCT.md
|
110
139
|
- Gemfile
|
@@ -114,10 +143,16 @@ files:
|
|
114
143
|
- bin/console
|
115
144
|
- bin/setup
|
116
145
|
- exe/redbreast
|
146
|
+
- lib/.DS_Store
|
117
147
|
- lib/redbreast.rb
|
148
|
+
- lib/redbreast/.DS_Store
|
149
|
+
- lib/redbreast/commands/color_generator.rb
|
150
|
+
- lib/redbreast/commands/color_test_generator.rb
|
151
|
+
- lib/redbreast/commands/configuration_installer.rb
|
118
152
|
- lib/redbreast/commands/image_generator.rb
|
153
|
+
- lib/redbreast/commands/image_test_generator.rb
|
119
154
|
- lib/redbreast/commands/setup.rb
|
120
|
-
- lib/redbreast/
|
155
|
+
- lib/redbreast/crawlers/color_crawler.rb
|
121
156
|
- lib/redbreast/crawlers/image_crawler.rb
|
122
157
|
- lib/redbreast/error_handler.rb
|
123
158
|
- lib/redbreast/helpers/general.rb
|
@@ -127,12 +162,17 @@ files:
|
|
127
162
|
- lib/redbreast/serializers/objc_serializer.rb
|
128
163
|
- lib/redbreast/serializers/serializer.rb
|
129
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
|
130
168
|
- lib/redbreast/template_generators/images/objc_images_template_generator.rb
|
131
169
|
- lib/redbreast/template_generators/images/swift_images_template_generator.rb
|
132
170
|
- lib/redbreast/template_generators/objc_template_generator.rb
|
133
171
|
- lib/redbreast/template_generators/swift_template_generator.rb
|
134
|
-
- lib/redbreast/template_generators/tests/
|
135
|
-
- lib/redbreast/template_generators/tests/
|
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
|
136
176
|
- lib/redbreast/version.rb
|
137
177
|
- redbreast.gemspec
|
138
178
|
homepage: https://github.com/infinum/redbreast
|
@@ -140,7 +180,7 @@ licenses:
|
|
140
180
|
- MIT
|
141
181
|
metadata:
|
142
182
|
allowed_push_host: https://rubygems.org
|
143
|
-
post_install_message:
|
183
|
+
post_install_message:
|
144
184
|
rdoc_options: []
|
145
185
|
require_paths:
|
146
186
|
- lib
|
@@ -155,9 +195,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
155
195
|
- !ruby/object:Gem::Version
|
156
196
|
version: '0'
|
157
197
|
requirements: []
|
158
|
-
|
159
|
-
|
160
|
-
signing_key:
|
198
|
+
rubygems_version: 3.0.6
|
199
|
+
signing_key:
|
161
200
|
specification_version: 4
|
162
201
|
summary: A CLI for safe and strongly typed resources
|
163
202
|
test_files: []
|