Module: Timelog4r::Utils
- Included in:
- Timelog4r
- Defined in:
- lib/timelog4r/utils.rb
Overview
- Description
-
Utility Module. there in ‘http’, ‘uri’, ‘parser’, etc…
Instance Method Summary collapse
-
#create_request(type, uri, use_basic_auth = false) ⇒ Object
- Description
-
create of Net::HTTP::Request-Instance.
-
#create_uri(url_string) ⇒ Object
- Description
-
url_string to URI-Instance.
-
#http_access(uri, request) ⇒ Object
- Description
-
access to TimelogAPI.
-
#parse_options(options) ⇒ Object
- Description
-
parse for uri queries.
Instance Method Details
#create_request(type, uri, use_basic_auth = false) ⇒ Object
- Description
-
create of Net::HTTP::Request-Instance.
- Params
-
:type http-method (:get|:post) [String] :uri request-uri [URI] :use_basic_auth basic_auth flag [Boolean] default false
- Return
-
Net::HTTP::Request-Instance
77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
# File 'lib/timelog4r/utils.rb', line 77 def create_request(type, uri, use_basic_auth = false) case type when :get request = Net::HTTP::Get.new(uri.request_uri) when :post request = Net::HTTP::Post.new(uri.request_uri) request.content_length = 0 end request['Accept-Charset'] = 'euc-jp, utf-8' request['Accept-Language'] = 'ja, en' request['User-Agent'] = @user_agent request.basic_auth(@user_id, @password) if use_basic_auth return request end |
#create_uri(url_string) ⇒ Object
- Description
-
url_string to URI-Instance.
- Params
-
:url_string url_string [String]
- Return
-
URI-Instance
59 60 61 |
# File 'lib/timelog4r/utils.rb', line 59 def create_uri(url_string) return URI.parse(url_string) end |
#http_access(uri, request) ⇒ Object
- Description
-
access to TimelogAPI.
- Params
-
:uri request-uri [URI] :request http-request [Net::HTTP::Request]
- Return
-
REXML::Document-Instance (case of ‘success’) false (case of ‘failed’)
107 108 109 110 111 112 113 114 115 116 117 118 119 |
# File 'lib/timelog4r/utils.rb', line 107 def http_access(uri, request) Net::HTTP.start(uri.host, uri.port){|http| response = http.request(request) if RUBY_VERSION.match(/^1\.9\./) response.body.force_encoding('UTF-8') end if response.code == '200' return REXML::Document.new(response.body) else return false end } end |
#parse_options(options) ⇒ Object
- Description
-
parse for uri queries.
- Params
-
options
:key => :value
[Hash]
- Return
-
‘?key=value&key2=value2’
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/timelog4r/utils.rb', line 29 def () if .has_key?(:since) [:since] = [:since].strftime '%Y%m%d%H%M' end = .find_all{|option| option.last } if .empty? result = nil else result = URI.escape( '?' + .collect{|option| option.join('=') }.join('&') ) end return result end |