moromi-request_header 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 +5 -5
- data/.github/workflows/ruby.yml +23 -0
- data/README.md +1 -3
- data/lib/moromi/request_header.rb +2 -1
- data/lib/moromi/request_header/{ios.rb → core.rb} +28 -7
- data/lib/moromi/request_header/default.rb +7 -0
- data/lib/moromi/request_header/version.rb +1 -1
- data/moromi-request_header.gemspec +3 -3
- metadata +18 -18
- data/circle.yml +0 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 8cfb14b9c6c726a05f5eb0470f63b03f2d56b07c6102da275bde45be89e654d6
|
4
|
+
data.tar.gz: 00e7df682c693abf22ed6f398999ea5266e2fac3571dc289a9a63e64eb451533
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2718cd19c5f1d6a494544ee6984a2e8c848ec654ec2481bc3890feaaf5d851ce3a541ed8c4668daf9374c4e19a0511b7a12d356c2277b58fbb529402fda60bec
|
7
|
+
data.tar.gz: 936f25dacfc5fad0b9944bf990061c2bc4ed8c64cba8bf08443d3eead12351ccbbfe2deaf31e720e8197004a8441844b3bc47ebfddcf1d2abf683509043c572b
|
@@ -0,0 +1,23 @@
|
|
1
|
+
name: Ruby
|
2
|
+
|
3
|
+
on: [push, pull_request]
|
4
|
+
|
5
|
+
jobs:
|
6
|
+
test:
|
7
|
+
strategy:
|
8
|
+
fail-fast: false
|
9
|
+
matrix:
|
10
|
+
os: [ubuntu-latest]
|
11
|
+
ruby: [2.7, 3.0]
|
12
|
+
runs-on: ${{ matrix.os }}
|
13
|
+
steps:
|
14
|
+
- uses: actions/checkout@v2
|
15
|
+
- uses: ruby/setup-ruby@v1
|
16
|
+
with:
|
17
|
+
ruby-version: ${{ matrix.ruby }}
|
18
|
+
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
19
|
+
- run: |
|
20
|
+
gem install bundler
|
21
|
+
bundle config path vendor/bundle
|
22
|
+
bundle install --jobs 4 --retry 3
|
23
|
+
bundle exec rspec
|
data/README.md
CHANGED
@@ -1,10 +1,8 @@
|
|
1
|
-
# Moromi::
|
1
|
+
# Moromi::RequestHeader
|
2
2
|
|
3
3
|
[](http://rubygems.org/gems/moromi-request_header)
|
4
4
|
[](https://circleci.com/gh/moromi/moromi-request_header)
|
5
5
|
|
6
|
-
APNS model.
|
7
|
-
|
8
6
|
## Installation
|
9
7
|
|
10
8
|
Add this line to your application's Gemfile:
|
@@ -1,13 +1,17 @@
|
|
1
|
-
require 'active_support
|
1
|
+
require 'active_support'
|
2
|
+
require 'active_support/core_ext'
|
2
3
|
|
3
4
|
module Moromi
|
4
5
|
module RequestHeader
|
5
|
-
|
6
|
+
module Core
|
7
|
+
extend ActiveSupport::Concern
|
8
|
+
|
6
9
|
PROPERTIES = %i(
|
7
10
|
token
|
8
11
|
bundle_identifier
|
9
12
|
bundle_version_string
|
10
13
|
bundle_version
|
14
|
+
platform
|
11
15
|
os
|
12
16
|
os_version
|
13
17
|
device_model
|
@@ -15,7 +19,10 @@ module Moromi
|
|
15
19
|
seconds_from_gmt
|
16
20
|
language_code
|
17
21
|
region_code
|
18
|
-
)
|
22
|
+
).freeze
|
23
|
+
|
24
|
+
PROPERTY_DEFAULT_VALUES = {
|
25
|
+
}.freeze
|
19
26
|
|
20
27
|
attr_accessor *PROPERTIES
|
21
28
|
|
@@ -25,19 +32,24 @@ module Moromi
|
|
25
32
|
names = self.class::header_names(app_name: @app_name)
|
26
33
|
self.class::PROPERTIES.each do |property|
|
27
34
|
name = names[property]
|
28
|
-
|
35
|
+
value = headers[name] || PROPERTY_DEFAULT_VALUES[property]
|
36
|
+
public_send("#{property.to_s}=", value)
|
37
|
+
rescue
|
38
|
+
nil
|
29
39
|
end
|
30
40
|
end
|
31
41
|
|
32
42
|
def to_hash
|
33
43
|
{}.tap do |results|
|
34
44
|
self.class::header_names(app_name: @app_name).invert.each do |k, v|
|
35
|
-
results[k] =
|
45
|
+
results[k] = public_send(v)
|
46
|
+
rescue
|
47
|
+
nil
|
36
48
|
end
|
37
49
|
end
|
38
50
|
end
|
39
51
|
|
40
|
-
|
52
|
+
class_methods do
|
41
53
|
def default_app_name
|
42
54
|
Moromi::RequestHeader.config.app_name
|
43
55
|
end
|
@@ -54,6 +66,7 @@ module Moromi
|
|
54
66
|
bundle_identifier: "X-#{app_class_name}-Bundle-Identifier",
|
55
67
|
bundle_version_string: "X-#{app_class_name}-Bundle-Version-String",
|
56
68
|
bundle_version: "X-#{app_class_name}-Bundle-Version",
|
69
|
+
platform: "X-#{app_class_name}-Platform", # ios, android, web, etc
|
57
70
|
os: "X-#{app_class_name}-Os",
|
58
71
|
os_version: "X-#{app_class_name}-Os-Version",
|
59
72
|
device_model: "X-#{app_class_name}-Device-Model",
|
@@ -67,10 +80,18 @@ module Moromi
|
|
67
80
|
def create(app_name: nil, args: {})
|
68
81
|
new(app_name: app_name).tap do |header|
|
69
82
|
PROPERTIES.each do |property|
|
70
|
-
|
83
|
+
value = args[property] || PROPERTY_DEFAULT_VALUES[property]
|
84
|
+
header.public_send("#{property.to_s}=", value)
|
85
|
+
rescue
|
86
|
+
nil
|
71
87
|
end
|
72
88
|
end
|
73
89
|
end
|
90
|
+
|
91
|
+
def fetch_header(key, headers, app_name)
|
92
|
+
name = header_name(key, app_name: app_name)
|
93
|
+
headers[name].presence || headers[key]
|
94
|
+
end
|
74
95
|
end
|
75
96
|
end
|
76
97
|
end
|
@@ -22,7 +22,7 @@ Gem::Specification.new do |spec|
|
|
22
22
|
|
23
23
|
spec.add_dependency "activesupport"
|
24
24
|
|
25
|
-
spec.add_development_dependency "bundler"
|
26
|
-
spec.add_development_dependency "rake"
|
27
|
-
spec.add_development_dependency "rspec"
|
25
|
+
spec.add_development_dependency "bundler"
|
26
|
+
spec.add_development_dependency "rake"
|
27
|
+
spec.add_development_dependency "rspec"
|
28
28
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: moromi-request_header
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Takahiro Oishi
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-02-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -28,44 +28,44 @@ dependencies:
|
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rspec
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '0'
|
69
69
|
description: Useful HTTP Header
|
70
70
|
email:
|
71
71
|
- takahiro.oishi@dena.jp
|
@@ -73,6 +73,7 @@ executables: []
|
|
73
73
|
extensions: []
|
74
74
|
extra_rdoc_files: []
|
75
75
|
files:
|
76
|
+
- ".github/workflows/ruby.yml"
|
76
77
|
- ".gitignore"
|
77
78
|
- ".rspec"
|
78
79
|
- Gemfile
|
@@ -81,10 +82,10 @@ files:
|
|
81
82
|
- Rakefile
|
82
83
|
- bin/console
|
83
84
|
- bin/setup
|
84
|
-
- circle.yml
|
85
85
|
- lib/moromi/request_header.rb
|
86
86
|
- lib/moromi/request_header/config.rb
|
87
|
-
- lib/moromi/request_header/
|
87
|
+
- lib/moromi/request_header/core.rb
|
88
|
+
- lib/moromi/request_header/default.rb
|
88
89
|
- lib/moromi/request_header/version.rb
|
89
90
|
- moromi-request_header.gemspec
|
90
91
|
homepage: https://github.com/moromi/moromi-request_header
|
@@ -105,8 +106,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
105
106
|
- !ruby/object:Gem::Version
|
106
107
|
version: '0'
|
107
108
|
requirements: []
|
108
|
-
|
109
|
-
rubygems_version: 2.5.2
|
109
|
+
rubygems_version: 3.0.3
|
110
110
|
signing_key:
|
111
111
|
specification_version: 4
|
112
112
|
summary: Useful HTTP Header
|
data/circle.yml
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
dependencies:
|
2
|
-
pre:
|
3
|
-
- >
|
4
|
-
case $CIRCLE_NODE_INDEX in
|
5
|
-
0)
|
6
|
-
rvm use 2.3.3 --default
|
7
|
-
;;
|
8
|
-
1)
|
9
|
-
rvm use 2.2.6 --default
|
10
|
-
;;
|
11
|
-
3)
|
12
|
-
rvm use 2.1.10 --default
|
13
|
-
;;
|
14
|
-
esac
|
15
|
-
test:
|
16
|
-
override:
|
17
|
-
- ruby -v && bundle exec rspec: {parallel: true}
|