fastlane-plugin-farol 0.1.0 → 0.2.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.
- checksums.yaml +4 -4
- data/lib/fastlane/plugin/farol.rb +1 -1
- data/lib/fastlane/plugin/farol/actions/farol_action.rb +54 -6
- data/lib/fastlane/plugin/farol/actions/farol_get_version_action.rb +53 -0
- data/lib/fastlane/plugin/farol/actions/farol_set_version_action.rb +64 -0
- data/lib/fastlane/plugin/farol/lib/farol.rb +30 -0
- data/lib/fastlane/plugin/farol/version.rb +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 84f8d34d89fe0b3fa3a5598fca7f89fab58da1ed
|
4
|
+
data.tar.gz: c69ad61cd13e75242e43717a1f90476d34b4f73f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2698cf0a1d0aa33bd57d32a03213be70e9cdad46b8c5253cea0cab9fedfc3bfad85509c80378e15373cb70035466600e1a43a23bcc964cdc48f4198e29573f59
|
7
|
+
data.tar.gz: 86169873c9fb721fbddd29c8c19e519c862d3cb1538b192eb2f498285fa5295d44d538e9111739929c66fa3b750bdae6f56bba94fa8aa5d78b5aa3120911585f
|
@@ -4,7 +4,7 @@ module Fastlane
|
|
4
4
|
module Farol
|
5
5
|
# Return all .rb files inside the "actions" and "helper" directory
|
6
6
|
def self.all_classes
|
7
|
-
Dir[File.expand_path('**/{actions,helper}/*.rb', File.dirname(__FILE__))]
|
7
|
+
Dir[File.expand_path('**/{actions,helper,lib}/*.rb', File.dirname(__FILE__))]
|
8
8
|
end
|
9
9
|
end
|
10
10
|
end
|
@@ -2,7 +2,50 @@ module Fastlane
|
|
2
2
|
module Actions
|
3
3
|
class FarolAction < Action
|
4
4
|
def self.run(params)
|
5
|
-
|
5
|
+
baseFolder = ''
|
6
|
+
fasFolder = baseFolder + '.fas/'
|
7
|
+
targetFolder = baseFolder + 'Target/'
|
8
|
+
|
9
|
+
# Reset target folder
|
10
|
+
FileUtils.rm_rf Dir.glob(targetFolder)
|
11
|
+
Dir.mkdir(targetFolder)
|
12
|
+
|
13
|
+
result = self.request(params, 'get', 'event/event')
|
14
|
+
self.saveFile('Event', result)
|
15
|
+
|
16
|
+
result = self.request(params, 'get', 'app/' + params[:app_id])
|
17
|
+
self.saveFile('App', result)
|
18
|
+
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.request(params, verb, method)
|
22
|
+
farolURL = 'https://frl.io:443'
|
23
|
+
|
24
|
+
# Create Cognito credentials
|
25
|
+
url = URI(farolURL + '/' + method)
|
26
|
+
Net::HTTP.start(url.host, url.port,
|
27
|
+
:use_ssl => url.scheme == 'https') do |http|
|
28
|
+
|
29
|
+
if verb == 'post'
|
30
|
+
request = Net::HTTP::Post.new url
|
31
|
+
elsif verb == 'put'
|
32
|
+
request = Net::HTTP::Put.new url
|
33
|
+
else
|
34
|
+
request = Net::HTTP::Get.new url
|
35
|
+
end
|
36
|
+
|
37
|
+
request['authorization'] = params[:token]
|
38
|
+
response = http.request request # Net::HTTPResponse object
|
39
|
+
result = JSON.parse response.read_body
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
def self.saveFile(fileName, result)
|
44
|
+
baseFolder = ''
|
45
|
+
targetFolder = baseFolder + 'Target/'
|
46
|
+
File.open(targetFolder + fileName + '.json', 'w') do |f|
|
47
|
+
f.puts JSON.pretty_generate(result)
|
48
|
+
end
|
6
49
|
end
|
7
50
|
|
8
51
|
def self.description
|
@@ -24,11 +67,16 @@ module Fastlane
|
|
24
67
|
|
25
68
|
def self.available_options
|
26
69
|
[
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
70
|
+
FastlaneCore::ConfigItem.new(key: :token,
|
71
|
+
env_name: "TOKEN",
|
72
|
+
description: "The token for your Farol App",
|
73
|
+
optional: false,
|
74
|
+
type: String),
|
75
|
+
FastlaneCore::ConfigItem.new(key: :app_id,
|
76
|
+
env_name: "APP_ID",
|
77
|
+
description: "The app id for your Farol App",
|
78
|
+
optional: false,
|
79
|
+
type: String)
|
32
80
|
]
|
33
81
|
end
|
34
82
|
|
@@ -0,0 +1,53 @@
|
|
1
|
+
module Fastlane
|
2
|
+
module Actions
|
3
|
+
class FarolGetVersionAction < Action
|
4
|
+
def self.run(params)
|
5
|
+
api = Farol::Api.new
|
6
|
+
token = params[:token]
|
7
|
+
verb = 'get'
|
8
|
+
method = 'app/version/' + params[:platform]
|
9
|
+
api.request(token, verb, method)
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.description
|
13
|
+
"Enable your app to use Farol Platform services"
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.authors
|
17
|
+
["Felipe Plets"]
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.return_value
|
21
|
+
# If your method provides a return value, you can describe here what it does
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.details
|
25
|
+
# Optional:
|
26
|
+
"Integrate your app with the Farol Platform using services like push notifications"
|
27
|
+
end
|
28
|
+
|
29
|
+
def self.available_options
|
30
|
+
[
|
31
|
+
FastlaneCore::ConfigItem.new(key: :token,
|
32
|
+
env_name: "TOKEN",
|
33
|
+
description: "The token for your Farol App",
|
34
|
+
optional: false,
|
35
|
+
type: String),
|
36
|
+
FastlaneCore::ConfigItem.new(key: :platform,
|
37
|
+
env_name: "PLATFORM",
|
38
|
+
description: "The platform you want to get the version",
|
39
|
+
optional: false,
|
40
|
+
type: String)
|
41
|
+
]
|
42
|
+
end
|
43
|
+
|
44
|
+
def self.is_supported?(platform)
|
45
|
+
# Adjust this if your plugin only works for a particular platform (iOS vs. Android, for example)
|
46
|
+
# See: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Platforms.md
|
47
|
+
#
|
48
|
+
# [:ios, :mac, :android].include?(platform)
|
49
|
+
true
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
module Fastlane
|
2
|
+
module Actions
|
3
|
+
class FarolSetVersionAction < Action
|
4
|
+
def self.run(params)
|
5
|
+
api = Farol::Api.new
|
6
|
+
token = params[:token]
|
7
|
+
verb = 'post'
|
8
|
+
method = 'app/version/' + params[:platform]
|
9
|
+
form_data = {"version" => params[:version], "build" => params[:build]}
|
10
|
+
api.request(token, verb, method, form_data)
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.description
|
14
|
+
"Enable your app to use Farol Platform services"
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.authors
|
18
|
+
["Felipe Plets"]
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.return_value
|
22
|
+
# If your method provides a return value, you can describe here what it does
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.details
|
26
|
+
# Optional:
|
27
|
+
"Integrate your app with the Farol Platform using services like push notifications"
|
28
|
+
end
|
29
|
+
|
30
|
+
def self.available_options
|
31
|
+
[
|
32
|
+
FastlaneCore::ConfigItem.new(key: :token,
|
33
|
+
env_name: "TOKEN",
|
34
|
+
description: "The token for your Farol App",
|
35
|
+
optional: false,
|
36
|
+
type: String),
|
37
|
+
FastlaneCore::ConfigItem.new(key: :platform,
|
38
|
+
env_name: "PLATFORM",
|
39
|
+
description: "The platform you want to get the version",
|
40
|
+
optional: false,
|
41
|
+
type: String),
|
42
|
+
FastlaneCore::ConfigItem.new(key: :version,
|
43
|
+
env_name: "VERSION",
|
44
|
+
description: "The new version for your app",
|
45
|
+
optional: false,
|
46
|
+
type: String),
|
47
|
+
FastlaneCore::ConfigItem.new(key: :build,
|
48
|
+
env_name: "BUILD",
|
49
|
+
description: "The new build number for your app",
|
50
|
+
optional: false,
|
51
|
+
type: Numeric)
|
52
|
+
]
|
53
|
+
end
|
54
|
+
|
55
|
+
def self.is_supported?(platform)
|
56
|
+
# Adjust this if your plugin only works for a particular platform (iOS vs. Android, for example)
|
57
|
+
# See: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Platforms.md
|
58
|
+
#
|
59
|
+
# [:ios, :mac, :android].include?(platform)
|
60
|
+
true
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Fastlane
|
2
|
+
module Farol
|
3
|
+
class Api
|
4
|
+
def request(token, verb, method, form_data = nil)
|
5
|
+
farolURL = 'https://frl.io:443'
|
6
|
+
|
7
|
+
# Create Cognito credentials
|
8
|
+
url = URI(farolURL + '/' + method)
|
9
|
+
Net::HTTP.start(url.host, url.port,
|
10
|
+
:use_ssl => url.scheme == 'https') do |http|
|
11
|
+
|
12
|
+
if verb == 'post'
|
13
|
+
request = Net::HTTP::Post.new url
|
14
|
+
request.set_form_data(form_data)
|
15
|
+
elsif verb == 'put'
|
16
|
+
request = Net::HTTP::Put.new url
|
17
|
+
else
|
18
|
+
request = Net::HTTP::Get.new url
|
19
|
+
end
|
20
|
+
|
21
|
+
request['authorization'] = token
|
22
|
+
response = http.request request # Net::HTTPResponse object
|
23
|
+
if verb == 'get'
|
24
|
+
return JSON.parse response.read_body
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane-plugin-farol
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Felipe Plets
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-05-
|
11
|
+
date: 2017-05-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pry
|
@@ -104,7 +104,10 @@ files:
|
|
104
104
|
- README.md
|
105
105
|
- lib/fastlane/plugin/farol.rb
|
106
106
|
- lib/fastlane/plugin/farol/actions/farol_action.rb
|
107
|
+
- lib/fastlane/plugin/farol/actions/farol_get_version_action.rb
|
108
|
+
- lib/fastlane/plugin/farol/actions/farol_set_version_action.rb
|
107
109
|
- lib/fastlane/plugin/farol/helper/farol_helper.rb
|
110
|
+
- lib/fastlane/plugin/farol/lib/farol.rb
|
108
111
|
- lib/fastlane/plugin/farol/version.rb
|
109
112
|
homepage: https://github.com/menvia/fastlane-plugin-farol
|
110
113
|
licenses:
|