singleton-ruby 0.0.1

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 02dddde67fa3b757131fb35d2902a4bd5b9d5337c137cf5c1d88e0183682ce31
4
+ data.tar.gz: ad71c6cc7c04808dfea6b0685c3cc56e139b3af1818e04effdda4513ac2e1e50
5
+ SHA512:
6
+ metadata.gz: 238440d4e04e2dd08673e3ba5c7122afe5fc8c92e3e4bfa864ac0c7b6f5c4e34bc5b1f33afaaa3e502f2552a40ccb0f301aff8425cc4003c6d26ac9484116691
7
+ data.tar.gz: 75a9bafa92d9dc4cc280935a29edd86c3c678b858df52c0b24cdf5328e91d8514705fc7f20891c87758c87615b8f8f7547755c337eeef13564088d29a5126b89
data/README.md ADDED
@@ -0,0 +1,6 @@
1
+ # Singeleton client for Ruby
2
+
3
+ ## Prerequisites
4
+ - Ruby 3.0.0 or above
5
+ - Bundler 2.2.3 or above
6
+
@@ -0,0 +1,29 @@
1
+ module SgtnClient
2
+
3
+ autoload :Translation, "sgtn-client/translation"
4
+ autoload :Config, "sgtn-client/config"
5
+ autoload :Logging, "sgtn-client/logging"
6
+
7
+ class << self
8
+ def configure(options = {}, &block)
9
+ SgtnClient::Config.configure(options, &block)
10
+ end
11
+
12
+ include Logging
13
+ def load(*args)
14
+ SgtnClient::Config.load(*args)
15
+ file = File.open('./sgtnclient.log', 'a')
16
+ file.sync = true
17
+ SgtnClient.logger = Logger.new(file)
18
+ end
19
+
20
+ def logger
21
+ SgtnClient::Config.logger
22
+ end
23
+
24
+ def logger=(log)
25
+ SgtnClient::Config.logger = log
26
+ end
27
+ end
28
+
29
+ end
@@ -0,0 +1,3 @@
1
+ ipn:
2
+ valid_message: item_number=&residence_country=US&verify_sign=AFcWxV21C7fd0v3bYYYRCpSSRl31AXi5tzp0u2U-8QDyy.oC2A1Dhx04&address_country=United+States&address_city=San+Jose&address_status=unconfirmed&business=platfo_1255077030_biz%40gmail.com&payment_status=Pending&transaction_subject=&protection_eligibility=Ineligible&shipping=0.00&payer_id=934EKX9W68RRU&first_name=John&mc_fee=0.38&txn_id=5AL16697HX185734U&quantity=1&receiver_email=platfo_1255077030_biz%40gmail.com&notify_version=3.7&txn_type=web_accept&mc_gross=1.00&payer_status=unverified&mc_currency=USD&test_ipn=1&custom=&payment_date=01%3A48%3A31+Dec+04%2C+2012+PST&payment_fee=0.38&charset=windows-1252&address_country_code=US&payment_gross=1.00&address_zip=95131&ipn_track_id=af0f53159f21e&address_state=CA&receipt_id=4050-1771-4106-3070&pending_reason=paymentreview&tax=0.00&handling_amount=0.00&item_name=&address_name=John+Doe&last_name=Doe&payment_type=instant&receiver_id=HZH2W8NPXUE5W&address_street=1+Main+St
3
+ invalid_message: invalid=invalid
@@ -0,0 +1,33 @@
1
+ test: &default
2
+
3
+ # Credentials for REST APIs
4
+ client_id: tee
5
+ client_secret: 89987
6
+
7
+ # Mode can be 'live' or 'sandbox'
8
+ mode: sandbox
9
+
10
+ # Credentials for Classic APIs
11
+ app_id: APP-80W284485P519543T
12
+ username: linr
13
+ password: fdasf
14
+ signature: sfds-RWy
15
+ # # With Certificate
16
+ # cert_path: "config/cert_key.pem"
17
+ sandbox_email_address: linr@vmware.com
18
+
19
+ # #Product Name
20
+ product_name: logInsight
21
+
22
+ # # bundle version
23
+ version: 4.8.1
24
+
25
+ # # HTTP Proxy
26
+ vip_server: https://g11n-vip-dev-1.eng.vmware.com:8090
27
+
28
+ development:
29
+ <<: *default
30
+
31
+ production:
32
+ <<: *default
33
+ mode: live
data/spec/log/http.log ADDED
File without changes
@@ -0,0 +1,38 @@
1
+ require 'bundler/setup'
2
+ require_relative '../lib/sgtn-client.rb'
3
+
4
+ if ENV['COVERAGE']
5
+ require 'simplecov'
6
+ require 'coveralls'
7
+ Coveralls.wear!
8
+ SimpleCov.start do
9
+ add_filter "/spec/"
10
+ end
11
+ end
12
+
13
+ Bundler.require :default, :test
14
+ SgtnClient.load("./spec/config/sgtnclient.yml", "test")
15
+
16
+ #require 'SgtnClient'
17
+
18
+ include SgtnClient
19
+ include SgtnClient::Logging
20
+
21
+ require 'logger'
22
+ SgtnClient.load("./spec/config/sgtnclient.yml", "test")
23
+ SgtnClient.logger = Logger.new(STDERR)
24
+
25
+ Dir[File.expand_path("../support/**/*.rb", __FILE__)].each {|f| require f }
26
+
27
+ # Set logger for http
28
+ http_log = File.open(File.expand_path('../log/http.log', __FILE__), "w")
29
+ #Payment.api.http.set_debug_output(http_log)
30
+
31
+ RSpec.configure do |config|
32
+ config.filter_run_excluding :integration => true
33
+ config.filter_run_excluding :disabled => true
34
+ config.include SampleData
35
+ # config.include PayPal::SDK::REST::DataTypes
36
+ end
37
+
38
+ WebMock.allow_net_connect!
@@ -0,0 +1,5 @@
1
+ module SampleData
2
+ def samples
3
+ @@samples ||= YAML.load(File.read(File.expand_path("../../config/sample_data.yml", __FILE__)))
4
+ end
5
+ end
@@ -0,0 +1,11 @@
1
+ require_relative '../../lib/sgtn-client.rb'
2
+
3
+ describe SgtnClient do
4
+
5
+ describe "config" do
6
+ SgtnClient.load("./spec/config/sgtnclient.yml", "test")
7
+ after do
8
+ SgtnClient.log = nil
9
+ end
10
+ end
11
+ end
data/spec/unit/foo.log ADDED
File without changes
@@ -0,0 +1,34 @@
1
+ #require 'spec_helper'
2
+ require 'stringio'
3
+ require_relative '../../lib/sgtn-client.rb'
4
+
5
+ describe SgtnClient::Logging do
6
+ #Logging = SgtnClient::Logging
7
+
8
+ class TestLogging
9
+ #include Logging
10
+ end
11
+
12
+ before :each do
13
+ #@logger_file = StringIO.new
14
+ #Logging.logger = Logger.new(@logger_file)
15
+ #file = File.open('./spec/unit/foo.log', File::WRONLY | File::APPEND)
16
+ #Logging.logger = Logger.new(file)
17
+ #SgtnClient.logger = Logger.new(file)
18
+ SgtnClient.load("./spec/config/sgtnclient.yml", "test")
19
+ end
20
+
21
+ it "get logger object" do
22
+ #expect(@test_logging.logger).to be_a Logger
23
+ expect(SgtnClient.logger).to be_a Logger
24
+ end
25
+
26
+ it "write message to logger" do
27
+ test_message = "Example log message!!!"
28
+ SgtnClient.logger.info(test_message)
29
+ SgtnClient.logger.info "Example log message!!!!"
30
+ # @logger_file.rewind
31
+ # expect(@logger_file.read).to match test_message
32
+ end
33
+
34
+ end
@@ -0,0 +1,11 @@
1
+ require 'spec_helper'
2
+
3
+ describe SgtnClient do
4
+ describe "API" do
5
+ it "GET" do
6
+ #SgtnClient.load("./spec/config/sgtnclient.yml", "test")
7
+ expect(SgtnClient::Translation.getString("JAVA", "com.vmware.loginsight.web.settings.stats.StatsTable.host", "zh-Hans")).to eq '主机'
8
+ end
9
+ end
10
+
11
+ end
@@ -0,0 +1,11 @@
1
+ require 'spec_helper'
2
+
3
+ describe VERSION do
4
+ describe 'version' do
5
+ # test that there is a sane version number to avoid accidental 0.0.0 again
6
+ it 'has a version > 0.0.0, < 3.0' do
7
+ ver = Gem::Version.new(VERSION)
8
+ expect(Gem::Requirement.new('> 0.0.0', '< 3.0')).to be_satisfied_by(ver)
9
+ end
10
+ end
11
+ end
metadata ADDED
@@ -0,0 +1,257 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: singleton-ruby
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - VMware G11n Team
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2021-05-14 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rest-client
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '2.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: multi_json
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: webmock
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '2.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '2.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '3.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '3.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: pry
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: pry-doc
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rdoc
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: 2.4.2
104
+ - - "<"
105
+ - !ruby/object:Gem::Version
106
+ version: '6.0'
107
+ type: :development
108
+ prerelease: false
109
+ version_requirements: !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - - ">="
112
+ - !ruby/object:Gem::Version
113
+ version: 2.4.2
114
+ - - "<"
115
+ - !ruby/object:Gem::Version
116
+ version: '6.0'
117
+ - !ruby/object:Gem::Dependency
118
+ name: rubocop
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: '0.49'
124
+ type: :development
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
129
+ - !ruby/object:Gem::Version
130
+ version: '0.49'
131
+ - !ruby/object:Gem::Dependency
132
+ name: http-accept
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - ">="
136
+ - !ruby/object:Gem::Version
137
+ version: 1.7.0
138
+ - - "<"
139
+ - !ruby/object:Gem::Version
140
+ version: '2.0'
141
+ type: :runtime
142
+ prerelease: false
143
+ version_requirements: !ruby/object:Gem::Requirement
144
+ requirements:
145
+ - - ">="
146
+ - !ruby/object:Gem::Version
147
+ version: 1.7.0
148
+ - - "<"
149
+ - !ruby/object:Gem::Version
150
+ version: '2.0'
151
+ - !ruby/object:Gem::Dependency
152
+ name: http-cookie
153
+ requirement: !ruby/object:Gem::Requirement
154
+ requirements:
155
+ - - ">="
156
+ - !ruby/object:Gem::Version
157
+ version: 1.0.2
158
+ - - "<"
159
+ - !ruby/object:Gem::Version
160
+ version: '2.0'
161
+ type: :runtime
162
+ prerelease: false
163
+ version_requirements: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - ">="
166
+ - !ruby/object:Gem::Version
167
+ version: 1.0.2
168
+ - - "<"
169
+ - !ruby/object:Gem::Version
170
+ version: '2.0'
171
+ - !ruby/object:Gem::Dependency
172
+ name: mime-types
173
+ requirement: !ruby/object:Gem::Requirement
174
+ requirements:
175
+ - - ">="
176
+ - !ruby/object:Gem::Version
177
+ version: '1.16'
178
+ - - "<"
179
+ - !ruby/object:Gem::Version
180
+ version: '4.0'
181
+ type: :runtime
182
+ prerelease: false
183
+ version_requirements: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '1.16'
188
+ - - "<"
189
+ - !ruby/object:Gem::Version
190
+ version: '4.0'
191
+ - !ruby/object:Gem::Dependency
192
+ name: netrc
193
+ requirement: !ruby/object:Gem::Requirement
194
+ requirements:
195
+ - - "~>"
196
+ - !ruby/object:Gem::Version
197
+ version: '0.8'
198
+ type: :runtime
199
+ prerelease: false
200
+ version_requirements: !ruby/object:Gem::Requirement
201
+ requirements:
202
+ - - "~>"
203
+ - !ruby/object:Gem::Version
204
+ version: '0.8'
205
+ description: A Singleton client for Ruby
206
+ email: li@vmware.com
207
+ executables: []
208
+ extensions: []
209
+ extra_rdoc_files:
210
+ - README.md
211
+ files:
212
+ - README.md
213
+ - lib/sgtn-client.rb
214
+ - spec/config/sample_data.yml
215
+ - spec/config/sgtnclient.yml
216
+ - spec/log/http.log
217
+ - spec/spec_helper.rb
218
+ - spec/support/sample_data.rb
219
+ - spec/unit/config_spec.rb
220
+ - spec/unit/foo.log
221
+ - spec/unit/logging_spec.rb
222
+ - spec/unit/restclient_spec.rb
223
+ - spec/unit/version_spec.rb
224
+ homepage: https://github.com/vmware/singleton
225
+ licenses:
226
+ - MIT
227
+ metadata: {}
228
+ post_install_message:
229
+ rdoc_options: []
230
+ require_paths:
231
+ - lib
232
+ required_ruby_version: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - ">="
235
+ - !ruby/object:Gem::Version
236
+ version: 2.0.0
237
+ required_rubygems_version: !ruby/object:Gem::Requirement
238
+ requirements:
239
+ - - ">="
240
+ - !ruby/object:Gem::Version
241
+ version: '0'
242
+ requirements: []
243
+ rubygems_version: 3.2.3
244
+ signing_key:
245
+ specification_version: 4
246
+ summary: Singleton client for Ruby.
247
+ test_files:
248
+ - spec/config/sample_data.yml
249
+ - spec/config/sgtnclient.yml
250
+ - spec/log/http.log
251
+ - spec/spec_helper.rb
252
+ - spec/support/sample_data.rb
253
+ - spec/unit/config_spec.rb
254
+ - spec/unit/foo.log
255
+ - spec/unit/logging_spec.rb
256
+ - spec/unit/restclient_spec.rb
257
+ - spec/unit/version_spec.rb