bogeyman 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 625872cca43376ec239d79f030d6c15413ca6202
4
- data.tar.gz: b3442d45b21396e1cf0c14961a312569cbaff28b
3
+ metadata.gz: df5166d0ba9731dba8780d2b9f0b37cebb2fd5e0
4
+ data.tar.gz: 6fc5a0c00d01fc76ca5c7a5437c5f23eee4847b6
5
5
  SHA512:
6
- metadata.gz: 0c211c9503823b24d6dc10c153f191d2f5a7692749c696d680ab5ba2e081c00f6893f5b7b854f0625b3305fe472784c883ad6abc9a39700c5b3e6b1fbdaa12af
7
- data.tar.gz: 80df69a7256b3434d08dd92017ea71d8af0642a65a11f3f9342a41c740c14fc2ab9266c53404bb623f06ef73e486c2a17498c969ba79c16a175e390d7eb4591d
6
+ metadata.gz: b6e7e76952f65db2fc2fca6975f0dbae2535801b0d1cbdd91abb0d9cb4297450f764c8bca7be72d01aac10a774d7bf2d0ddf3e15e160ba6eab33483e66be1812
7
+ data.tar.gz: b24cd3b2ce29ac4fd6aff1a92eab041170960330d861a149124bd46df5b9e426032ff117433c1f2002cedc9499abfe2efc87e258a340e4f2c23dc08e56864f09
data/README.md CHANGED
@@ -16,7 +16,7 @@ gem install bogeyman
16
16
  Or you can put it in your Gemfile
17
17
 
18
18
  ```ruby
19
- gem 'bogeyman', '~> 0.0.2'
19
+ gem 'bogeyman', '~> 0.0.3'
20
20
  ```
21
21
 
22
22
  ## Usage
@@ -41,6 +41,24 @@ client.post 'http://example.com', param1: 'abc'
41
41
  client.get 'http://example.com'
42
42
  ```
43
43
 
44
+ Or if you want to use existing cookies
45
+
46
+ ```ruby
47
+ client = Bogeyman::Client.new(
48
+ cookies: [
49
+ {
50
+ name: "test",
51
+ value: "test",
52
+ domain: "yuna.sk",
53
+ path: "/path",
54
+ httponly: false,
55
+ secure: false,
56
+ expires: 1405164630,
57
+ },
58
+ ]
59
+ )
60
+ ```
61
+
44
62
  Or if you require advanced options
45
63
 
46
64
  ```ruby
@@ -55,6 +73,7 @@ client = Bogeyman::Client.new(
55
73
  ssl_protocol: 'any', # default: 'sslv3'
56
74
  ssl_certificates-path: '...', # default: system default
57
75
  web_security: true, # default: false
76
+ cookies: []
58
77
  )
59
78
  ```
60
79
 
@@ -5,7 +5,7 @@ module Bogeyman
5
5
  def initialize params={}
6
6
  host = params.delete(:host) || 'localhost'
7
7
  port = params.delete(:port) || 31313
8
-
8
+ @cookies = (params.delete(:cookies) || []).map{ |c| Cookie.new(c) }
9
9
  @server = "http://#{host}:#{port}"
10
10
  @params = params
11
11
  end
@@ -20,9 +20,10 @@ module Bogeyman
20
20
 
21
21
  def request method, url, data
22
22
  params = {
23
- method: method,
23
+ method: method.upcase,
24
24
  url: url,
25
25
  params: @params,
26
+ cookies: @cookies.map(&:to_hash),
26
27
  }
27
28
 
28
29
  Response.new(
@@ -34,6 +35,10 @@ module Bogeyman
34
35
  )
35
36
  )
36
37
  )
38
+ rescue Errno::ECONNREFUSED
39
+ raise RuntimeError.new(
40
+ "Bogeyman.js server is not running at #{@server}"
41
+ )
37
42
  end
38
43
  end
39
44
  end
@@ -0,0 +1,33 @@
1
+ # -*- encoding : utf-8 -*-
2
+
3
+ module Bogeyman
4
+ class Cookie
5
+ REQUIRED = [:name, :value, :domain]
6
+
7
+ def initialize params={}
8
+ @params = params
9
+ validate
10
+ end
11
+
12
+ def to_hash
13
+ {
14
+ name: @params[:name],
15
+ value: @params[:value],
16
+ domain: @params[:domain],
17
+ path: @params[:path] || '/',
18
+ httponly: @params[:httponly] || false,
19
+ secure: @params[:secure] || false,
20
+ expires: (@params[:expires] || Time.now.to_i + 3600)*1000,
21
+ }
22
+ end
23
+
24
+ protected
25
+
26
+ def validate
27
+ REQUIRED.each do |attr|
28
+ next if @params.include?(attr)
29
+ raise ArgumentError.new("#{attr} required in cookie hash")
30
+ end
31
+ end
32
+ end
33
+ end
@@ -1,3 +1,3 @@
1
1
  module Bogeyman
2
- VERSION = '0.0.2'
2
+ VERSION = '0.0.3'
3
3
  end
data/lib/bogeyman.rb CHANGED
@@ -3,5 +3,6 @@
3
3
  require 'rest_client'
4
4
  require 'json'
5
5
 
6
+ require 'bogeyman/cookie'
6
7
  require 'bogeyman/response'
7
8
  require 'bogeyman/client'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bogeyman
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rene Klacan
@@ -61,6 +61,7 @@ files:
61
61
  - lib/bogeyman/response.rb
62
62
  - lib/bogeyman/client.rb
63
63
  - lib/bogeyman/version.rb
64
+ - lib/bogeyman/cookie.rb
64
65
  - lib/bogeyman.rb
65
66
  - README.md
66
67
  homepage: https://github.com/reneklacan/bogeyman