hung_secondGem 0.1.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 0660f1104c04bb60d6e0013abff93b7ca6b03540
4
+ data.tar.gz: 393cf25b128f98ba0ce788bef34cdc2144a60b0d
5
+ SHA512:
6
+ metadata.gz: 121f681dfd1dee20c405f942a391a06b63d2e4541d76aa2d6fbcae29e03e38429aa543115948d10f1d28bb4db4bea22dcd4b3a604fc8312e9a9d68401df7ce4f
7
+ data.tar.gz: b2523358a1a49e89e24189a6ff2a3f9601fed766d796cc0db461d30934685f754da5d7fc6b52ffc96b739dca9ea72094af4f06766684d197d32ba27443130319
@@ -0,0 +1,4 @@
1
+ require 'httparty'
2
+ require 'hung_secondGem/version'
3
+ require 'hung_secondGem/orange'
4
+ require 'hung_secondGem'
@@ -0,0 +1,95 @@
1
+ require 'httparty'
2
+
3
+ module Orange
4
+ class Error < StandardError; end
5
+ class Rest
6
+ include HTTParty
7
+
8
+ attr_reader :response;
9
+ attr_reader :request
10
+
11
+ def initialize()
12
+ end
13
+
14
+ def initialize(opts={})
15
+ mergeOpt opts
16
+ end
17
+
18
+ def mergeOpt(opts={})
19
+ self.class.default_options = self.class.default_options.merge(opts.to_hash)
20
+ puts self.class.default_options
21
+ end
22
+
23
+ def perform_request(http_method, path, options={}, &block) #:nodoc:
24
+ method = eval("Net::HTTP::#{http_method.to_s.capitalize}")
25
+ options = ModuleInheritableAttributes.hash_deep_dup(self.class.default_options).merge(options.to_hash)
26
+ begin
27
+ if (!options[:debug_request].nil? && options[:debug_request].to_s.downcase.eql?("true"))
28
+ options = debugPass options
29
+ end
30
+
31
+ if (!options[:debug_request].nil? && options[:debug_request].to_s.downcase.eql?("false"))
32
+ options = debugErr options
33
+ end
34
+
35
+ process_headers(options)
36
+ process_cookies(options)
37
+ puts options
38
+ @response = HTTParty::Request.new(method, path, options).perform(&block)
39
+
40
+ rescue => e
41
+ puts "Rescued #{e.inspect}"
42
+ end
43
+
44
+ @response
45
+
46
+ end
47
+
48
+ def response
49
+ raise Orange::Error.new('@response is null') if @response.nil?
50
+ @response
51
+ end
52
+
53
+ def process_headers(options)
54
+ if options[:headers] && headers.any?
55
+ options[:headers] = headers.merge(options[:headers])
56
+ end
57
+ end
58
+
59
+ def process_cookies(options) #:nodoc:
60
+ return unless options[:cookies] || self.class.default_cookies.any?
61
+ options[:headers] ||= headers.dup
62
+ options[:headers]['cookie'] = cookies.merge(options.delete(:cookies) || {}).to_cookie_string
63
+ end
64
+
65
+ def headers(h = {})
66
+ raise ArgumentError, 'Headers must an object which responds to #to_hash' unless h.respond_to?(:to_hash)
67
+ self.class.default_options[:headers] ||= {}
68
+ self.class.default_options[:headers].merge!(h.to_hash)
69
+ end
70
+
71
+ def setHost(host)
72
+ self.class.base_uri host
73
+ end
74
+
75
+ def Host
76
+ self.class.base_uri
77
+ end
78
+
79
+ def setFollowRedirect(flag)
80
+ self.class.follow_redirects flag
81
+ end
82
+
83
+ def debugPass(opts={})
84
+ self.class.default_options[:debug_output] = $stdout
85
+ opts = ModuleInheritableAttributes.hash_deep_dup(self.class.default_options).merge(opts.to_hash)
86
+ opts
87
+ end
88
+
89
+ def debugErr(opts={})
90
+ self.class.default_options[:debug_output] = $stderr
91
+ opts = ModuleInheritableAttributes.hash_deep_dup(self.class.default_options).merge(opts.to_hash)
92
+ opts
93
+ end
94
+ end
95
+ end
@@ -0,0 +1,146 @@
1
+ require 'httparty'
2
+ require_relative 'orange'
3
+ require 'json'
4
+
5
+ module HungSecondGem
6
+
7
+ VERSION = "0.1.1"
8
+
9
+ class Hola
10
+ include HTTParty
11
+ base_uri "http://192.168.86.154:9200"
12
+ default_timeout 10
13
+ attr_accessor :last_res
14
+ attr_reader :response
15
+ attr_reader :resquest
16
+
17
+ def initialize()
18
+ end
19
+
20
+ def initialize(opts={})
21
+ mergeOpt opts
22
+ end
23
+
24
+ def mergeOpt(opts={})
25
+ self.class.default_options.merge(opts)
26
+ puts self.class.default_options
27
+ end
28
+
29
+ def setDebug
30
+ self.class.debug_output $stdout
31
+ self.class.debug_output $stderr
32
+ end
33
+
34
+ def perform_request(http_method, path, options={}, &block) #:nodoc:
35
+ method = eval("Net::HTTP::#{http_method.to_s.capitalize}")
36
+ options = ModuleInheritableAttributes.hash_deep_dup(self.class.default_options).merge(options)
37
+
38
+ process_headers(options)
39
+ process_cookies(options)
40
+ puts options
41
+ begin
42
+ @response = HTTParty::Request.new(method, path, options).perform(&block)
43
+
44
+ setDebug
45
+ rescue => e
46
+ puts "Rescued #{e.inspect}"
47
+ setDebug
48
+ end
49
+
50
+ @response
51
+ end
52
+
53
+ def process_headers(options)
54
+ if options[:headers] && headers.any?
55
+ options[:headers] = headers.merge(options[:headers])
56
+ end
57
+ end
58
+
59
+ def process_cookies(options) #:nodoc:
60
+ return unless options[:cookies] || self.class.default_cookies.any?
61
+ options[:headers] ||= headers.dup
62
+ options[:headers]['cookie'] = cookies.merge(options.delete(:cookies) || {}).to_cookie_string
63
+ end
64
+
65
+ def hello
66
+ puts "Hello Hung"
67
+ end
68
+
69
+ end
70
+
71
+ def foo
72
+ puts "Hello foo"
73
+ end
74
+
75
+ def self.included(base)
76
+ base.extend(ClassMethods)
77
+ end
78
+
79
+ module ClassMethods
80
+ def bar
81
+ puts 'class method'
82
+ end
83
+ end
84
+
85
+ end
86
+
87
+ class Baz
88
+ include HungSecondGem
89
+ end
90
+ object = HungSecondGem::Hola.new
91
+ # object.mergeOpt(
92
+ # {
93
+ # host_name:'Cubert',
94
+ # base_uri: "http://abc",
95
+ # content_type: 'application/json',
96
+ # maintain_method_across_redirects: true,
97
+ # timeout: 30
98
+ # }
99
+ # )
100
+ #object.hello
101
+
102
+ #object.sendGet
103
+ object.perform_request "get", "/pe_log/pe_log/_search"
104
+
105
+ # Baz.bar
106
+ # response = HungSecondGem::Hola.get("http://192.168.86.154:9200/pe_log/pe_log/_search")
107
+ # puts response
108
+ #
109
+ # a_hash = Hash.new
110
+ # a_hash['a']=1
111
+ # a_hash['b']=2
112
+ # puts a_hash
113
+
114
+ orange = Orange::Rest.new({
115
+ base_uri: "http://192.168.86.154:9200",
116
+ content_type: 'application/json',
117
+ timeout: 60
118
+ })
119
+
120
+ key = 'content-type'
121
+ value = 'application/json'
122
+ h = Hash.new
123
+ h[key] = value
124
+
125
+ query = Hash.new
126
+ query['quantity'] = 12
127
+ query['nameSupplier'] = 'MONTHLY'
128
+ query['startTime'] = 1469790205194
129
+ query['endTime'] = 1483009405414
130
+
131
+ body = "{ \"endTime\": \"1480417405279\" }"
132
+ body_hash = JSON.parse(body)
133
+
134
+ opts = Hash.new
135
+ opts['query'] = query
136
+ opts['body'] = body_hash
137
+ # orange.headers({
138
+ # content_type: 'application/json'
139
+ # })
140
+ orange.headers(h)
141
+ orange.perform_request "get", "/pe_log/pe_log/_search", {}
142
+ puts orange.response.body
143
+
144
+ orange.setHost "http://192.168.86.154:9082"
145
+ orange.perform_request "put", "/logger/pe/prepareLogTables", opts
146
+ puts orange.response.body
metadata ADDED
@@ -0,0 +1,103 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: hung_secondGem
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.1
5
+ platform: ruby
6
+ authors:
7
+ - Hung Thanh Nguyen
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2016-06-29 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ~>
17
+ - !ruby/object:Gem::Version
18
+ version: '1.10'
19
+ name: bundler
20
+ prerelease: false
21
+ type: :runtime
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '1.10'
27
+ - !ruby/object:Gem::Dependency
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ~>
31
+ - !ruby/object:Gem::Version
32
+ version: '10.0'
33
+ name: rake
34
+ prerelease: false
35
+ type: :runtime
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ~>
45
+ - !ruby/object:Gem::Version
46
+ version: '0.13'
47
+ name: httparty
48
+ prerelease: false
49
+ type: :runtime
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: '0.13'
55
+ - !ruby/object:Gem::Dependency
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ~>
59
+ - !ruby/object:Gem::Version
60
+ version: '0.5'
61
+ name: jsonpath
62
+ prerelease: false
63
+ type: :runtime
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: '0.5'
69
+ description: 'description: create second gem'
70
+ email:
71
+ - hungtnguyen@kms-technology.com
72
+ executables: []
73
+ extensions: []
74
+ extra_rdoc_files: []
75
+ files:
76
+ - lib/hung_secondGem.rb
77
+ - lib/hung_secondGem/orange.rb
78
+ - lib/hung_secondGem/version.rb
79
+ homepage: http://hungnguyen.com
80
+ licenses:
81
+ - MIT
82
+ metadata: {}
83
+ post_install_message:
84
+ rdoc_options: []
85
+ require_paths:
86
+ - lib
87
+ required_ruby_version: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - '>='
90
+ - !ruby/object:Gem::Version
91
+ version: '0'
92
+ required_rubygems_version: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ requirements: []
98
+ rubyforge_project:
99
+ rubygems_version: 2.4.5
100
+ signing_key:
101
+ specification_version: 4
102
+ summary: create second gem
103
+ test_files: []