singleton-ruby 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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