apple_system_status 0.1.1 → 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/.travis.yml +2 -1
- data/CHANGELOG.md +40 -0
- data/Gemfile +8 -0
- data/README.md +19 -6
- data/lib/apple_system_status/cli.rb +3 -3
- data/lib/apple_system_status/crawler.rb +24 -1
- data/lib/apple_system_status/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f1a58ae11b2f0d5a74d3cb22334a73b5290d74e2
|
4
|
+
data.tar.gz: 680b516048aacd35bb5ad667bb9665e6ae89c323
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9ba83ceb230bc93b249aa5b989f95321701917363978ef67926b07441d630f63df6560a43685db1f2dfba9d6282c22c99f9d3c0a80d2f5cf3c48766b07d6fe9a
|
7
|
+
data.tar.gz: 8d8808522660767f8c61ee4a0104bc3d312690517e2baaa2b2cb0a2d225af37b5ba9760fb5ff453560f394437484d2edd9699e2f591d61807b397db286c8448e
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
ADDED
@@ -0,0 +1,40 @@
|
|
1
|
+
# Change Log
|
2
|
+
|
3
|
+
## [v0.1.1](https://github.com/sue445/apple_system_status/tree/v0.1.1) (2015/09/05)
|
4
|
+
[Full Changelog](https://github.com/sue445/apple_system_status/compare/v0.1.0...v0.1.1)
|
5
|
+
|
6
|
+
**Merged pull requests:**
|
7
|
+
|
8
|
+
- ignore js errors [\#10](https://github.com/sue445/apple_system_status/pull/10) ([sue445](https://github.com/sue445))
|
9
|
+
|
10
|
+
## [v0.1.0](https://github.com/sue445/apple_system_status/tree/v0.1.0) (2015/07/28)
|
11
|
+
[Full Changelog](https://github.com/sue445/apple_system_status/compare/v0.1.0.beta3...v0.1.0)
|
12
|
+
|
13
|
+
## [v0.1.0.beta3](https://github.com/sue445/apple_system_status/tree/v0.1.0.beta3) (2015/07/26)
|
14
|
+
[Full Changelog](https://github.com/sue445/apple_system_status/compare/v0.1.0.beta2...v0.1.0.beta3)
|
15
|
+
|
16
|
+
**Merged pull requests:**
|
17
|
+
|
18
|
+
- Add title arg to perform [\#9](https://github.com/sue445/apple_system_status/pull/9) ([sue445](https://github.com/sue445))
|
19
|
+
- Support: country is blank and us [\#8](https://github.com/sue445/apple_system_status/pull/8) ([sue445](https://github.com/sue445))
|
20
|
+
- Refactor: status\(es\) -\> service\(s\) [\#7](https://github.com/sue445/apple_system_status/pull/7) ([sue445](https://github.com/sue445))
|
21
|
+
- sort by title [\#6](https://github.com/sue445/apple_system_status/pull/6) ([sue445](https://github.com/sue445))
|
22
|
+
- Write readme [\#4](https://github.com/sue445/apple_system_status/pull/4) ([sue445](https://github.com/sue445))
|
23
|
+
|
24
|
+
## [v0.1.0.beta2](https://github.com/sue445/apple_system_status/tree/v0.1.0.beta2) (2015/07/25)
|
25
|
+
[Full Changelog](https://github.com/sue445/apple_system_status/compare/v0.1.0.beta1...v0.1.0.beta2)
|
26
|
+
|
27
|
+
**Merged pull requests:**
|
28
|
+
|
29
|
+
- Fix error when exists blank cell [\#5](https://github.com/sue445/apple_system_status/pull/5) ([sue445](https://github.com/sue445))
|
30
|
+
|
31
|
+
## [v0.1.0.beta1](https://github.com/sue445/apple_system_status/tree/v0.1.0.beta1) (2015/07/23)
|
32
|
+
**Merged pull requests:**
|
33
|
+
|
34
|
+
- refactor [\#3](https://github.com/sue445/apple_system_status/pull/3) ([sue445](https://github.com/sue445))
|
35
|
+
- Impl cli [\#2](https://github.com/sue445/apple_system_status/pull/2) ([sue445](https://github.com/sue445))
|
36
|
+
- Setup travis [\#1](https://github.com/sue445/apple_system_status/pull/1) ([sue445](https://github.com/sue445))
|
37
|
+
|
38
|
+
|
39
|
+
|
40
|
+
\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
|
data/Gemfile
CHANGED
@@ -2,3 +2,11 @@ source 'https://rubygems.org'
|
|
2
2
|
|
3
3
|
# Specify your gem's dependencies in apple_system_status.gemspec
|
4
4
|
gemspec
|
5
|
+
|
6
|
+
if Gem::Version.create(RUBY_VERSION) < Gem::Version.create("2.2.2")
|
7
|
+
# NOTE: activesupport 5.x supports only ruby 2.2.2+
|
8
|
+
gem "activesupport", ">= 4.0.0", "< 5.0.0"
|
9
|
+
|
10
|
+
# NOTE: rack 2.x supports only ruby 2.2.2+
|
11
|
+
gem "rack", "< 2.0.0"
|
12
|
+
end
|
data/README.md
CHANGED
@@ -31,10 +31,8 @@ Or install it yourself as:
|
|
31
31
|
|
32
32
|
## Usage (via. ruby)
|
33
33
|
```ruby
|
34
|
-
crawler = AppleSystemStatus::Crawler.new
|
35
|
-
|
36
34
|
# English
|
37
|
-
pp
|
35
|
+
pp AppleSystemStatus::Crawler.perform
|
38
36
|
|
39
37
|
{:title=>"System Status as of 12:51 AM JST",
|
40
38
|
:services=>
|
@@ -48,7 +46,7 @@ pp crawler.perform
|
|
48
46
|
]}
|
49
47
|
|
50
48
|
# Japanese
|
51
|
-
pp
|
49
|
+
pp AppleSystemStatus::Crawler.perform(country: "jp")
|
52
50
|
|
53
51
|
{:title=>"00:53 JST 時点のシステム状況",
|
54
52
|
:services=>
|
@@ -76,13 +74,28 @@ Usage:
|
|
76
74
|
apple_system_status fetch
|
77
75
|
|
78
76
|
Options:
|
79
|
-
[--country=COUNTRY] # country code. (
|
77
|
+
[--country=COUNTRY] # country code. (e.g. jp, ca, fr)
|
80
78
|
# Default: us
|
81
79
|
[--title=TITLE] # If specified, narrow the service title
|
82
|
-
[--format=FORMAT] # output format. (
|
80
|
+
[--format=FORMAT] # output format. (e.g. plain, json)
|
83
81
|
# Default: plain
|
84
82
|
```
|
85
83
|
|
84
|
+
### Example
|
85
|
+
```sh
|
86
|
+
$ apple_system_status fetch --country=us --title="iTunes Store" --format=json | jq .
|
87
|
+
{
|
88
|
+
"title": "System Status as of 4:33 PM JST",
|
89
|
+
"services": [
|
90
|
+
{
|
91
|
+
"title": "iTunes Store",
|
92
|
+
"description": "No Issues: iTunes Store",
|
93
|
+
"status": "allgood"
|
94
|
+
}
|
95
|
+
]
|
96
|
+
}
|
97
|
+
```
|
98
|
+
|
86
99
|
## Development
|
87
100
|
|
88
101
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake rspec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. Run `bundle exec apple_system_status` to use the gem in this directory, ignoring other installed copies of this gem.
|
@@ -4,11 +4,11 @@ require "apple_system_status"
|
|
4
4
|
module AppleSystemStatus
|
5
5
|
class CLI < Thor
|
6
6
|
desc "fetch", "Fetch apple system status"
|
7
|
-
option :country, desc: "country code. (
|
7
|
+
option :country, desc: "country code. (e.g. jp, ca, fr)", default: "us"
|
8
8
|
option :title, desc: "If specified, narrow the service title"
|
9
|
-
option :format, desc: "output format. (
|
9
|
+
option :format, desc: "output format. (e.g. plain, json)", default: "plain"
|
10
10
|
def fetch
|
11
|
-
response = AppleSystemStatus::Crawler.
|
11
|
+
response = AppleSystemStatus::Crawler.perform(
|
12
12
|
country: options[:country],
|
13
13
|
title: options[:title],
|
14
14
|
)
|
@@ -14,8 +14,12 @@ module AppleSystemStatus
|
|
14
14
|
@session.driver.headers = { "User-Agent" => USER_AGENT }
|
15
15
|
end
|
16
16
|
|
17
|
+
def quit!
|
18
|
+
@session.driver.quit if @session
|
19
|
+
end
|
20
|
+
|
17
21
|
# crawl apple system status page
|
18
|
-
# @param country [String] country code. (
|
22
|
+
# @param country [String] country code. (e.g. jp, ca, fr. default. us)
|
19
23
|
# @param title [String] If specified, narrow the service title
|
20
24
|
# @return [Hash]
|
21
25
|
# @example response format
|
@@ -67,5 +71,24 @@ module AppleSystemStatus
|
|
67
71
|
"https://www.apple.com/#{country}/support/systemstatus/"
|
68
72
|
end
|
69
73
|
end
|
74
|
+
|
75
|
+
# crawl apple system status page. When finished crawling, clear capybara session
|
76
|
+
# @param country [String] country code. (e.g. jp, ca, fr. default. us)
|
77
|
+
# @param title [String] If specified, narrow the service title
|
78
|
+
# @return [Hash]
|
79
|
+
# @example response format
|
80
|
+
# {
|
81
|
+
# title: ,
|
82
|
+
# services: [
|
83
|
+
# { title: , description: , status: }
|
84
|
+
# ]
|
85
|
+
# }
|
86
|
+
# @link https://github.com/teampoltergeist/poltergeist#memory-leak
|
87
|
+
def self.perform(country: nil, title: nil)
|
88
|
+
crawler = AppleSystemStatus::Crawler.new
|
89
|
+
crawler.perform(country: country, title: title)
|
90
|
+
ensure
|
91
|
+
crawler.quit!
|
92
|
+
end
|
70
93
|
end
|
71
94
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: apple_system_status
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- sue445
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-09-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -191,6 +191,7 @@ files:
|
|
191
191
|
- ".rspec"
|
192
192
|
- ".travis.yml"
|
193
193
|
- ".yardopts"
|
194
|
+
- CHANGELOG.md
|
194
195
|
- Gemfile
|
195
196
|
- LICENSE.txt
|
196
197
|
- README.md
|
@@ -224,9 +225,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
224
225
|
version: '0'
|
225
226
|
requirements: []
|
226
227
|
rubyforge_project:
|
227
|
-
rubygems_version: 2.
|
228
|
+
rubygems_version: 2.5.1
|
228
229
|
signing_key:
|
229
230
|
specification_version: 4
|
230
231
|
summary: Apple System Status scraping library
|
231
232
|
test_files: []
|
232
|
-
has_rdoc:
|