skeleton-ui 0.1.15 → 0.1.20
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 +4 -4
- data/.fasterer.yml +5 -0
- data/.github/pull_request_template.md +9 -0
- data/.github/workflows/Test.yml +31 -0
- data/.gitignore +2 -1
- data/.rubocop.yml +172 -12
- data/Gemfile +1 -1
- data/README.md +26 -73
- data/bin/skeleton +1 -1
- data/lib/skeleton.rb +15 -12
- data/lib/skeleton/base.rb +3 -0
- data/lib/skeleton/ios.rb +4 -5
- data/lib/skeleton/languages.rb +1 -1
- data/lib/skeleton/logger.rb +1 -1
- data/lib/skeleton/root.rb +1 -1
- data/lib/skeleton/version.rb +1 -1
- data/server/index.css +0 -18
- data/server/template.html.erb +20 -7
- data/skeleton.gemspec +14 -12
- metadata +57 -25
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f8411e8ab89319ff1f7cadcbcbfee6a78fff3ab68e4c24c836548ae1a39876a8
|
4
|
+
data.tar.gz: 3c52ab6c73a22f68723d0f85df5403977c97662545421a7efaf7c2d2208a2e43
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6a43b0ecd405473f7fc5e2e480ca1f91735bd3edd43a13c83911c32f2998bb3898eb78a2037a91485684026f0bc3833e44db36c0542fa10a1f8a96fc1af5f316
|
7
|
+
data.tar.gz: a344e392ede8ba0d813e65df938dc8da52270fb1b88b3b68839b5a5cceda11d32c224d60da0938a9e0cbcd1d841edd5b904b0675e92860bc3663655f89beefa9
|
data/.fasterer.yml
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
name: Test
|
2
|
+
|
3
|
+
on:
|
4
|
+
pull_request:
|
5
|
+
types: [opened, synchronize]
|
6
|
+
|
7
|
+
jobs:
|
8
|
+
chat:
|
9
|
+
name: Checks
|
10
|
+
timeout-minutes: 15
|
11
|
+
runs-on: [macos-latest]
|
12
|
+
if: |
|
13
|
+
(github.event.pull_request.commits == 1 && !contains(github.event.pull_request.title, '[skip ci]')) ||
|
14
|
+
contains(github.event.pull_request.title, '[run ci]')
|
15
|
+
steps:
|
16
|
+
- uses: actions/checkout@v2
|
17
|
+
with:
|
18
|
+
fetch-depth: '0'
|
19
|
+
- name: Gitleaks
|
20
|
+
run: |
|
21
|
+
brew install gitleaks
|
22
|
+
gitleaks --redact --verbose --pretty --repo-path=.
|
23
|
+
- name: Bundler
|
24
|
+
run: |
|
25
|
+
gem install bundler
|
26
|
+
bundle config path vendor/bundle
|
27
|
+
bundle check || bundle install --jobs 4 --retry 3
|
28
|
+
- name: Rubocop
|
29
|
+
run: bundle exec rubocop
|
30
|
+
- name: Fasterer
|
31
|
+
run: bundle exec fasterer
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
@@ -1,26 +1,186 @@
|
|
1
|
+
---
|
2
|
+
Style/MultipleComparison:
|
3
|
+
Enabled: false
|
1
4
|
Style/Tab:
|
2
5
|
Enabled: false
|
3
|
-
|
4
|
-
Layout/IndentationWidth:
|
6
|
+
Style/PercentLiteralDelimiters:
|
5
7
|
Enabled: false
|
6
|
-
|
7
|
-
|
8
|
+
Style/ClassCheck:
|
9
|
+
EnforcedStyle: kind_of?
|
10
|
+
Style/FrozenStringLiteralComment:
|
8
11
|
Enabled: false
|
9
|
-
|
10
|
-
|
12
|
+
Style/SafeNavigation:
|
13
|
+
Enabled: false
|
14
|
+
Performance/RegexpMatch:
|
15
|
+
Enabled: false
|
16
|
+
Performance/StringReplacement:
|
17
|
+
Enabled: false
|
18
|
+
Style/RegexpLiteral:
|
19
|
+
Enabled: false
|
20
|
+
Style/NumericPredicate:
|
21
|
+
Enabled: false
|
22
|
+
Metrics/BlockLength:
|
23
|
+
Enabled: false
|
24
|
+
Metrics/ModuleLength:
|
25
|
+
Enabled: false
|
26
|
+
Style/VariableNumber:
|
27
|
+
Enabled: false
|
28
|
+
Style/MethodMissing:
|
29
|
+
Enabled: false
|
30
|
+
MultilineBlockChain:
|
31
|
+
Enabled: false
|
32
|
+
Style/NumericLiteralPrefix:
|
33
|
+
Enabled: false
|
34
|
+
Style/TernaryParentheses:
|
35
|
+
Enabled: false
|
36
|
+
Style/EmptyMethod:
|
37
|
+
Enabled: false
|
38
|
+
Style/BracesAroundHashParameters:
|
39
|
+
Enabled: false
|
40
|
+
Lint/Debugger:
|
41
|
+
Enabled: false
|
42
|
+
Lint/UselessAssignment:
|
43
|
+
Exclude:
|
44
|
+
- "**/spec/**/*"
|
45
|
+
Layout/IndentationWidth:
|
11
46
|
Enabled: false
|
12
|
-
|
13
47
|
Layout/IndentationConsistency:
|
14
48
|
Enabled: false
|
15
|
-
|
49
|
+
Layout/IndentHash:
|
50
|
+
Enabled: false
|
16
51
|
Layout/AlignHash:
|
17
52
|
Enabled: false
|
18
|
-
|
53
|
+
Layout/DotPosition:
|
54
|
+
Enabled: false
|
55
|
+
Style/DoubleNegation:
|
56
|
+
Enabled: false
|
57
|
+
Style/SymbolArray:
|
58
|
+
Enabled: false
|
59
|
+
Layout/IndentHeredoc:
|
60
|
+
Enabled: false
|
61
|
+
Style/MixinGrouping:
|
62
|
+
Exclude:
|
63
|
+
- "**/spec/**/*"
|
64
|
+
Lint/HandleExceptions:
|
65
|
+
Enabled: false
|
66
|
+
Lint/UnusedBlockArgument:
|
67
|
+
Enabled: false
|
68
|
+
Lint/AmbiguousBlockAssociation:
|
69
|
+
Enabled: false
|
70
|
+
Style/GlobalVars:
|
71
|
+
Enabled: false
|
72
|
+
Style/ClassAndModuleChildren:
|
73
|
+
Enabled: false
|
74
|
+
Style/SpecialGlobalVars:
|
75
|
+
Enabled: false
|
19
76
|
Metrics/AbcSize:
|
20
77
|
Enabled: false
|
21
|
-
|
22
|
-
|
78
|
+
Metrics/MethodLength:
|
79
|
+
Enabled: false
|
80
|
+
Metrics/CyclomaticComplexity:
|
81
|
+
Enabled: false
|
82
|
+
Style/WordArray:
|
83
|
+
MinSize: 19
|
84
|
+
Style/SignalException:
|
85
|
+
Enabled: false
|
86
|
+
Style/RedundantReturn:
|
87
|
+
Enabled: false
|
88
|
+
Style/IfUnlessModifier:
|
23
89
|
Enabled: false
|
24
|
-
|
90
|
+
Style/AndOr:
|
91
|
+
Enabled: true
|
92
|
+
EnforcedStyle: conditionals
|
93
|
+
Metrics/ClassLength:
|
94
|
+
Max: 320
|
95
|
+
Metrics/LineLength:
|
96
|
+
Max: 370
|
97
|
+
Metrics/ParameterLists:
|
98
|
+
Max: 17
|
99
|
+
Metrics/PerceivedComplexity:
|
100
|
+
Max: 18
|
101
|
+
Style/GuardClause:
|
102
|
+
Enabled: false
|
103
|
+
Style/StringLiterals:
|
104
|
+
Enabled: false
|
105
|
+
Style/ConditionalAssignment:
|
106
|
+
Enabled: false
|
107
|
+
Style/RedundantSelf:
|
108
|
+
Enabled: false
|
109
|
+
Lint/UnusedMethodArgument:
|
110
|
+
Enabled: false
|
111
|
+
Lint/ParenthesesAsGroupedExpression:
|
112
|
+
Exclude:
|
113
|
+
- "**/spec/**/*"
|
114
|
+
Style/PredicateName:
|
115
|
+
Enabled: false
|
116
|
+
Style/PerlBackrefs:
|
117
|
+
Enabled: false
|
118
|
+
Layout/SpaceAroundOperators:
|
119
|
+
Exclude:
|
120
|
+
- "**/spec/actions_specs/xcodebuild_spec.rb"
|
121
|
+
AllCops:
|
122
|
+
TargetRubyVersion: 2.4
|
123
|
+
Include:
|
124
|
+
- "*/lib/assets/*Template"
|
125
|
+
- "*/lib/assets/*TemplateAndroid"
|
126
|
+
Exclude:
|
127
|
+
- "**/lib/assets/custom_action_template.rb"
|
128
|
+
- "./vendor/**/*"
|
129
|
+
- "**/lib/assets/DefaultFastfileTemplate"
|
130
|
+
- "**/lib/assets/MatchfileTemplate"
|
131
|
+
- "**/spec/fixtures/broken_files/broken_file.rb"
|
132
|
+
- "**/Rakefile"
|
133
|
+
Style/FileName:
|
134
|
+
Exclude:
|
135
|
+
- "**/Dangerfile"
|
136
|
+
- "**/Brewfile"
|
137
|
+
- "**/Gemfile"
|
138
|
+
- "**/Podfile"
|
139
|
+
- "**/Rakefile"
|
140
|
+
- "**/Fastfile"
|
141
|
+
- "**/Deliverfile"
|
142
|
+
- "**/Snapfile"
|
143
|
+
- "**/*.gemspec"
|
25
144
|
Style/Documentation:
|
26
145
|
Enabled: false
|
146
|
+
Style/MutableConstant:
|
147
|
+
Enabled: false
|
148
|
+
Style/ZeroLengthPredicate:
|
149
|
+
Enabled: false
|
150
|
+
Style/IfInsideElse:
|
151
|
+
Enabled: false
|
152
|
+
Style/CollectionMethods:
|
153
|
+
Enabled: false
|
154
|
+
Style/MethodCallWithArgsParentheses:
|
155
|
+
Enabled: true
|
156
|
+
IgnoredMethods:
|
157
|
+
- require
|
158
|
+
- require_relative
|
159
|
+
- fastlane_require
|
160
|
+
- gem
|
161
|
+
- program
|
162
|
+
- command
|
163
|
+
- raise
|
164
|
+
- attr_accessor
|
165
|
+
- attr_reader
|
166
|
+
- desc
|
167
|
+
- lane
|
168
|
+
- private_lane
|
169
|
+
- platform
|
170
|
+
- to
|
171
|
+
- describe
|
172
|
+
- it
|
173
|
+
- be
|
174
|
+
- context
|
175
|
+
- before
|
176
|
+
- after
|
177
|
+
- puts
|
178
|
+
- get
|
179
|
+
- post
|
180
|
+
- set
|
181
|
+
- redirect
|
182
|
+
- send_file
|
183
|
+
- example
|
184
|
+
- option
|
185
|
+
- task
|
186
|
+
- source
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,101 +1,54 @@
|
|
1
1
|
# skeleton
|
2
|
-
|
2
|
+
Tool for fast generating multi language page objects from iOS (device/simulator) and Android (devices/emulator) screens.
|
3
3
|
|
4
4
|
|
5
5
|
Prerequisites:
|
6
6
|
--------
|
7
7
|
|
8
8
|
#### Global
|
9
|
-
|
9
|
+
$ brew install imagemagick
|
10
10
|
|
11
11
|
#### Android
|
12
|
-
|
13
|
-
|
14
|
-
|
12
|
+
# Install [SDK Tools](http://developer.android.com/sdk/installing/index.html?pkg=tools).
|
13
|
+
# SDK tools are added to your $PATH ([OSX](https://stackoverflow.com/posts/19764254/revisions)).
|
14
|
+
# Enable [USB Debugging](https://www.kingoapp.com/root-tutorials/how-to-enable-usb-debugging-mode-on-android.htm) on your device(s).
|
15
15
|
|
16
16
|
#### iOS
|
17
|
-
|
18
|
-
|
19
|
-
|
17
|
+
# Install [Xcode](https://developer.apple.com/xcode/download/)
|
18
|
+
# Install [Xcode Command Line Tools](http://railsapps.github.io/xcode-command-line-tools.html)
|
19
|
+
$ brew install ideviceinstaller
|
20
|
+
$ brew install chargepoint/xcparse/xcparse
|
20
21
|
|
21
22
|
Installation:
|
22
23
|
------
|
23
24
|
$ gem install skeleton-ui
|
24
|
-
|
25
|
-
Precondition:
|
26
|
-
------
|
27
|
-
$ skeleton server
|
28
25
|
|
29
26
|
Usage:
|
30
27
|
------
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
Display help documentation
|
47
|
-
|
48
|
-
-v, --version
|
49
|
-
Display version information
|
28
|
+
1. Start skeleton server:
|
29
|
+
$ skeleton server
|
30
|
+
2. Open device screen
|
31
|
+
3. Scan device screen via skeleton:
|
32
|
+
$ skeleton scan -p android
|
33
|
+
or
|
34
|
+
$ skeleton scan -p ios -b "your_app_bundle_id"
|
35
|
+
4. Open page with the generated screen objects on your favorite language
|
36
|
+
|
37
|
+
For more info use:
|
38
|
+
$ skeleton -h
|
39
|
+
$ skeleton scan -h
|
40
|
+
|
41
|
+
Demo:
|
42
|
+
------
|
50
43
|
|
51
|
-
|
52
|
-
Display backtrace when an error occurs
|
44
|
+

|
53
45
|
|
54
|
-
$ skeleton scan --help
|
55
|
-
|
56
|
-
EXAMPLES:
|
57
|
-
|
58
|
-
skeleton scan -p (ios or android) -u 749575366595763538563 -b com.my.bundle
|
59
|
-
|
60
|
-
OPTIONS:
|
61
|
-
|
62
|
-
-p, --platform PLATFORM
|
63
|
-
Set device platform: android or ios
|
64
|
-
|
65
|
-
-u, --udid UDID
|
66
|
-
Set device UDID
|
67
|
-
|
68
|
-
-b, --bundle BUNDLE
|
69
|
-
Set Bundle ID for your app [required for iOS]
|
70
|
-
|
71
|
-
--[no-]browser
|
72
|
-
Not open the browser at the end of skeleton's work
|
73
|
-
|
74
|
-
$ skeleton clear --help
|
75
|
-
|
76
|
-
EXAMPLES:
|
77
|
-
|
78
|
-
skeleton clear
|
79
|
-
|
80
|
-
$ skeleton server --help
|
81
|
-
|
82
|
-
EXAMPLES:
|
83
|
-
|
84
|
-
skeleton server
|
85
|
-
|
86
|
-
OPTIONS:
|
87
|
-
|
88
|
-
-p, --port PORT
|
89
|
-
Set web-server port
|
90
|
-
|
91
46
|
Docs:
|
92
47
|
------
|
93
48
|
|
94
|
-
- [Setting up Skeleton for working with iOS real devices](https://github.com/
|
49
|
+
- [Setting up Skeleton for working with iOS real devices](https://github.com/alter-al/skeleton/blob/master/docs/real-ios-device-config.md)
|
95
50
|
- [Setting up RVM for deciding permissions problems](https://github.com/alter-al/skeleton/blob/master/docs/permissions_error.md)
|
96
51
|
|
97
52
|
## License
|
98
53
|
|
99
54
|
A tool is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
100
|
-
|
101
|
-
|
data/bin/skeleton
CHANGED
@@ -7,7 +7,7 @@ require_relative '../lib/skeleton/logger'
|
|
7
7
|
|
8
8
|
module Skeleton
|
9
9
|
program :version, VERSION
|
10
|
-
program :description, '
|
10
|
+
program :description, 'Tool for fast generating multi language page objects from iOS and Android screens.'
|
11
11
|
|
12
12
|
command :scan do |c|
|
13
13
|
c.syntax = 'skeleton scan [options]'
|
data/lib/skeleton.rb
CHANGED
@@ -36,13 +36,17 @@ module Skeleton
|
|
36
36
|
open_url
|
37
37
|
end
|
38
38
|
|
39
|
-
|
39
|
+
def fill_html
|
40
40
|
languages = ios? ? Language.all : Language.all - ['swift']
|
41
|
-
languages.
|
41
|
+
languages.each_with_index do |lang, index|
|
42
42
|
attach_image
|
43
43
|
type = Language.domain(lang)
|
44
44
|
folder = Base::PAGE_OBJECTS_FOLDER
|
45
|
-
|
45
|
+
begin
|
46
|
+
@screen_objects = File.read(Dir["#{folder}/*.#{type}"].first)
|
47
|
+
rescue TypeError
|
48
|
+
Log.warn('Failed to find any screen objects 💩') if index.zero?
|
49
|
+
end
|
46
50
|
@elements_tree = File.read(Dir["#{folder}/*.xml"].first)
|
47
51
|
@build_version = "v#{VERSION}"
|
48
52
|
if @driver.class == Android
|
@@ -62,19 +66,18 @@ module Skeleton
|
|
62
66
|
image.rotate(90) if image.width > image.height
|
63
67
|
rescue MiniMagick::Error => err
|
64
68
|
Log.warn(err)
|
65
|
-
|
66
|
-
|
69
|
+
ensure
|
70
|
+
FileUtils.cp_r(screenshot, "#{Base::ROOT_DIR}/server/screenshot.png")
|
67
71
|
end
|
68
72
|
|
69
|
-
|
73
|
+
def open_url
|
70
74
|
port = File.read("#{Base::ROOT_DIR}/server/port")
|
71
|
-
|
72
|
-
|
73
|
-
|
75
|
+
url = "http://localhost:#{port}/skeleton"
|
76
|
+
`open #{url}` if @browser
|
77
|
+
Log.info("Take a peek on #{url} 😍")
|
74
78
|
rescue Errno::ENOENT
|
75
|
-
Log.warn(
|
76
|
-
|
77
|
-
end
|
79
|
+
Log.warn("Something went wrong with skeleton server 💩 \nTry to rerun it (:")
|
80
|
+
end
|
78
81
|
|
79
82
|
def ios?
|
80
83
|
@platform == 'ios'
|
data/lib/skeleton/base.rb
CHANGED
@@ -21,6 +21,9 @@ class Base
|
|
21
21
|
FileUtils.rm_rf(PAGE_OBJECTS_FOLDER)
|
22
22
|
FileUtils.rm_rf(ATTACHMENTS_FOLDER)
|
23
23
|
FileUtils.rm_rf("#{ROOT_DIR}/server/screenshot.png")
|
24
|
+
Language.all.each do |lang|
|
25
|
+
FileUtils.rm_rf("#{ROOT_DIR}/server/#{lang}.html")
|
26
|
+
end
|
24
27
|
end
|
25
28
|
|
26
29
|
protected
|
data/lib/skeleton/ios.rb
CHANGED
@@ -173,19 +173,18 @@ class IOS < Base
|
|
173
173
|
|
174
174
|
def check_bundle
|
175
175
|
if @simulator
|
176
|
-
return if `xcrun simctl appinfo #{@udid} #{@bundle_id}
|
177
|
-
.include?("CFBundleName")
|
176
|
+
return if `xcrun simctl appinfo #{@udid} #{@bundle_id}`.include?("CFBundleName")
|
178
177
|
else
|
179
|
-
return if `ideviceinstaller -u #{@udid} -l
|
180
|
-
.include?("#{@bundle_id},")
|
178
|
+
return if `ideviceinstaller -u #{@udid} -l`.include?("#{@bundle_id},")
|
181
179
|
end
|
182
180
|
Log.error("No such apps with bundle_id: #{@bundle_id}")
|
183
181
|
end
|
184
182
|
|
185
183
|
def save_screenshot
|
186
184
|
Log.info('Saving screenshot 📷')
|
187
|
-
png_path = "#{
|
185
|
+
png_path = "#{ATTACHMENTS_FOLDER}/*.png"
|
188
186
|
new_path = "#{ATTACHMENTS_FOLDER}/ios_#{TIMESTAMP}.png"
|
187
|
+
`xcparse screenshots #{XCRESULTS_FOLDER} #{ATTACHMENTS_FOLDER}`
|
189
188
|
screenshots = Dir[png_path].collect { |png| File.expand_path(png) }
|
190
189
|
FileUtils.cp(screenshots[0], new_path)
|
191
190
|
FileUtils.rm_rf(XCRESULTS_FOLDER)
|
data/lib/skeleton/languages.rb
CHANGED
data/lib/skeleton/logger.rb
CHANGED
data/lib/skeleton/root.rb
CHANGED
data/lib/skeleton/version.rb
CHANGED
data/server/index.css
CHANGED
@@ -2,24 +2,6 @@
|
|
2
2
|
max-width: 1240px;
|
3
3
|
}
|
4
4
|
|
5
|
-
.aside {
|
6
|
-
position: relative;
|
7
|
-
height: 100%;
|
8
|
-
}
|
9
|
-
|
10
|
-
.aside__img {
|
11
|
-
position: absolute;
|
12
|
-
left: 0;
|
13
|
-
right: 0;
|
14
|
-
bottom: 0;
|
15
|
-
top: 0;
|
16
|
-
-webkit-background-size: cover;
|
17
|
-
-o-background-size: cover;
|
18
|
-
background-size: cover;
|
19
|
-
background-position: center;
|
20
|
-
background-repeat: no-repeat;
|
21
|
-
}
|
22
|
-
|
23
5
|
.content {
|
24
6
|
background-color: #FFF;
|
25
7
|
padding: 3rem;
|
data/server/template.html.erb
CHANGED
@@ -4,6 +4,7 @@
|
|
4
4
|
<title>Skeleton</title>
|
5
5
|
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
7
|
+
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
|
7
8
|
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css" integrity="sha384-9gVQ4dYFwwWSjIDZnLEWnxCjeSWFphJiwGPXr1jddIhOegiu1FwO5qRGvFXOdJZ4" crossorigin="anonymous">
|
8
9
|
<link rel="stylesheet" type="text/css" href="/index.css"/>
|
9
10
|
</head>
|
@@ -13,15 +14,27 @@
|
|
13
14
|
<div class="py-5 text-center">
|
14
15
|
<h2>Skeleton</h2>
|
15
16
|
</div>
|
16
|
-
<div class="row"
|
17
|
-
<div class="col-md-
|
18
|
-
<
|
19
|
-
|
20
|
-
|
17
|
+
<div class="row">
|
18
|
+
<div class="col-md-3">
|
19
|
+
<img id="screenshot" src="screenshot.png" style="width:100%; outline: 1px solid gray;"/>
|
20
|
+
<div id="coordinates" class="md-3 text-right">💀</div>
|
21
|
+
<script>
|
22
|
+
$image = $('#screenshot');
|
23
|
+
imgPos = [
|
24
|
+
$image.offset().left,
|
25
|
+
$image.offset().top,
|
26
|
+
$image.offset().left + $image.outerWidth(),
|
27
|
+
$image.offset().top + $image.outerHeight()
|
28
|
+
];
|
29
|
+
|
30
|
+
$image.mousemove(function(e){
|
31
|
+
$('#coordinates').html((e.pageX-imgPos[0] + 0.5) + ', '+ (Math.round((e.pageY-imgPos[1]) * 1.5)));
|
32
|
+
});
|
33
|
+
</script>
|
21
34
|
</div>
|
22
|
-
<div class="col-md-
|
35
|
+
<div class="col-md-9">
|
23
36
|
<h4 class="mb-3">Screen Objects:</h4>
|
24
|
-
<div class="content" id="content" style="max-height:
|
37
|
+
<div class="content" id="content" style="max-height: 456px; overflow-y: auto;">
|
25
38
|
<pre><code><%= @screen_objects %></code></pre>
|
26
39
|
</div>
|
27
40
|
</div>
|
data/skeleton.gemspec
CHANGED
@@ -6,10 +6,10 @@ require "skeleton/version"
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = Skeleton::GEM_NAME
|
8
8
|
spec.version = Skeleton::VERSION
|
9
|
-
spec.authors = ["
|
10
|
-
spec.email = ["
|
9
|
+
spec.authors = ["Alexey Alter-Pesotskiy", "Dmitry Shcherbakov"]
|
10
|
+
spec.email = ["a.alterpesotskiy@mail.ru"]
|
11
11
|
|
12
|
-
spec.summary =
|
12
|
+
spec.summary = "Tool for fast generating multi language page objects from iOS (device/simulator) and Android (devices/emulator) screens."
|
13
13
|
spec.homepage = "https://github.com/forqa/skeleton"
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
@@ -24,13 +24,15 @@ Gem::Specification.new do |spec|
|
|
24
24
|
spec.executables = ["skeleton"]
|
25
25
|
spec.require_paths = ["lib"]
|
26
26
|
|
27
|
-
spec.add_development_dependency
|
28
|
-
spec.add_development_dependency
|
29
|
-
spec.add_development_dependency
|
30
|
-
spec.
|
31
|
-
spec.
|
32
|
-
spec.add_dependency
|
33
|
-
spec.add_dependency
|
34
|
-
spec.add_dependency "
|
35
|
-
spec.add_dependency "
|
27
|
+
spec.add_development_dependency("bundler")
|
28
|
+
spec.add_development_dependency("rake")
|
29
|
+
spec.add_development_dependency('fasterer', '0.8.3')
|
30
|
+
spec.add_development_dependency('rubocop', '0.49.1')
|
31
|
+
spec.add_development_dependency('rubocop-require_tools')
|
32
|
+
spec.add_dependency("colorize", "~> 0.8.1")
|
33
|
+
spec.add_dependency("mini_magick", "~> 4.9.4")
|
34
|
+
spec.add_dependency("nokogiri", "~> 1.10.8")
|
35
|
+
spec.add_dependency("sinatra", "~> 2.0.3")
|
36
|
+
spec.add_dependency("fileutils")
|
37
|
+
spec.add_dependency("commander")
|
36
38
|
end
|
metadata
CHANGED
@@ -1,57 +1,86 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: skeleton-ui
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.20
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- Alexey Alter-Pesotskiy
|
8
|
+
- Dmitry Shcherbakov
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date:
|
12
|
+
date: 2020-07-24 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: bundler
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
16
17
|
requirements:
|
17
|
-
- - "
|
18
|
+
- - ">="
|
18
19
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
20
|
+
version: '0'
|
20
21
|
type: :development
|
21
22
|
prerelease: false
|
22
23
|
version_requirements: !ruby/object:Gem::Requirement
|
23
24
|
requirements:
|
24
|
-
- - "
|
25
|
+
- - ">="
|
25
26
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
27
|
+
version: '0'
|
27
28
|
- !ruby/object:Gem::Dependency
|
28
29
|
name: rake
|
29
30
|
requirement: !ruby/object:Gem::Requirement
|
30
31
|
requirements:
|
31
|
-
- - "
|
32
|
+
- - ">="
|
32
33
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
34
|
+
version: '0'
|
34
35
|
type: :development
|
35
36
|
prerelease: false
|
36
37
|
version_requirements: !ruby/object:Gem::Requirement
|
37
38
|
requirements:
|
38
|
-
- - "
|
39
|
+
- - ">="
|
39
40
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
41
|
+
version: '0'
|
41
42
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
43
|
+
name: fasterer
|
43
44
|
requirement: !ruby/object:Gem::Requirement
|
44
45
|
requirements:
|
45
|
-
- -
|
46
|
+
- - '='
|
46
47
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
48
|
+
version: 0.8.3
|
48
49
|
type: :development
|
49
50
|
prerelease: false
|
50
51
|
version_requirements: !ruby/object:Gem::Requirement
|
51
52
|
requirements:
|
52
|
-
- -
|
53
|
+
- - '='
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: 0.8.3
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: rubocop
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - '='
|
53
61
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
62
|
+
version: 0.49.1
|
63
|
+
type: :development
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - '='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 0.49.1
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: rubocop-require_tools
|
72
|
+
requirement: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - ">="
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
77
|
+
type: :development
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - ">="
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: '0'
|
55
84
|
- !ruby/object:Gem::Dependency
|
56
85
|
name: colorize
|
57
86
|
requirement: !ruby/object:Gem::Requirement
|
@@ -72,28 +101,28 @@ dependencies:
|
|
72
101
|
requirements:
|
73
102
|
- - "~>"
|
74
103
|
- !ruby/object:Gem::Version
|
75
|
-
version: 4.
|
104
|
+
version: 4.9.4
|
76
105
|
type: :runtime
|
77
106
|
prerelease: false
|
78
107
|
version_requirements: !ruby/object:Gem::Requirement
|
79
108
|
requirements:
|
80
109
|
- - "~>"
|
81
110
|
- !ruby/object:Gem::Version
|
82
|
-
version: 4.
|
111
|
+
version: 4.9.4
|
83
112
|
- !ruby/object:Gem::Dependency
|
84
113
|
name: nokogiri
|
85
114
|
requirement: !ruby/object:Gem::Requirement
|
86
115
|
requirements:
|
87
116
|
- - "~>"
|
88
117
|
- !ruby/object:Gem::Version
|
89
|
-
version: 1.8
|
118
|
+
version: 1.10.8
|
90
119
|
type: :runtime
|
91
120
|
prerelease: false
|
92
121
|
version_requirements: !ruby/object:Gem::Requirement
|
93
122
|
requirements:
|
94
123
|
- - "~>"
|
95
124
|
- !ruby/object:Gem::Version
|
96
|
-
version: 1.8
|
125
|
+
version: 1.10.8
|
97
126
|
- !ruby/object:Gem::Dependency
|
98
127
|
name: sinatra
|
99
128
|
requirement: !ruby/object:Gem::Requirement
|
@@ -138,13 +167,16 @@ dependencies:
|
|
138
167
|
version: '0'
|
139
168
|
description:
|
140
169
|
email:
|
141
|
-
-
|
170
|
+
- a.alterpesotskiy@mail.ru
|
142
171
|
executables:
|
143
172
|
- skeleton
|
144
173
|
extensions: []
|
145
174
|
extra_rdoc_files: []
|
146
175
|
files:
|
176
|
+
- ".fasterer.yml"
|
147
177
|
- ".githooks/commit-msg"
|
178
|
+
- ".github/pull_request_template.md"
|
179
|
+
- ".github/workflows/Test.yml"
|
148
180
|
- ".gitignore"
|
149
181
|
- ".rspec"
|
150
182
|
- ".rubocop.yml"
|
@@ -160,6 +192,7 @@ files:
|
|
160
192
|
- docs/permissions_error.md
|
161
193
|
- docs/real-ios-device-config.md
|
162
194
|
- docs/sign_xcproj.png
|
195
|
+
- docs/skeleton_example.png
|
163
196
|
- docs/untrusted-dev.png
|
164
197
|
- lib/skeleton.rb
|
165
198
|
- lib/skeleton/android.rb
|
@@ -205,10 +238,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
205
238
|
- !ruby/object:Gem::Version
|
206
239
|
version: '0'
|
207
240
|
requirements: []
|
208
|
-
|
209
|
-
rubygems_version: 2.7.3
|
241
|
+
rubygems_version: 3.0.3
|
210
242
|
signing_key:
|
211
243
|
specification_version: 4
|
212
|
-
summary:
|
213
|
-
screens.
|
244
|
+
summary: Tool for fast generating multi language page objects from iOS (device/simulator)
|
245
|
+
and Android (devices/emulator) screens.
|
214
246
|
test_files: []
|