blobstache 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
+ SHA1:
3
+ metadata.gz: c55927125dddb88ee648c36c602cdc9ace79dee7
4
+ data.tar.gz: 0294428592bd6673ad6cf9c4228fd6d48795fbe5
5
+ SHA512:
6
+ metadata.gz: 3534dabbd3fa668b44fd86cbfc9f861f6530ff8c835ae7a189400a99b28d575ca5f7188b4c004d11b78a99fc0b020b77f74b6b91a72438778141344cbef262dd
7
+ data.tar.gz: 0418d0193fb96163b0062fb7a7af2e1a3cf322a23745575f601a06956de6a83aeaf51703ca850a70cade839d76af589224b495480cf7462bbad4a9d4e23812a4
data/.gitignore ADDED
@@ -0,0 +1,14 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+ *.bundle
11
+ *.so
12
+ *.o
13
+ *.a
14
+ mkmf.log
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in blobstache.gemspec
4
+ gemspec
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2015 Lyon Hill
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,31 @@
1
+ # Blobstache
2
+
3
+ TODO: Write a gem description
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ ```ruby
10
+ gem 'blobstache'
11
+ ```
12
+
13
+ And then execute:
14
+
15
+ $ bundle
16
+
17
+ Or install it yourself as:
18
+
19
+ $ gem install blobstache
20
+
21
+ ## Usage
22
+
23
+ TODO: Write usage instructions here
24
+
25
+ ## Contributing
26
+
27
+ 1. Fork it ( https://github.com/[my-github-username]/blobstache/fork )
28
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
29
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
30
+ 4. Push to the branch (`git push origin my-new-feature`)
31
+ 5. Create a new Pull Request
data/Rakefile ADDED
@@ -0,0 +1,2 @@
1
+ require "bundler/gem_tasks"
2
+
@@ -0,0 +1,25 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'blobstache/client'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "blobstache"
8
+ spec.version = Blobstache::Client::VERSION
9
+ spec.authors = ["Lyon Hill"]
10
+ spec.email = ["lyondhill@gmail.com"]
11
+ spec.summary = %q{blobstache client}
12
+ spec.description = %q{blobstache client}
13
+ spec.homepage = "http://www.pagodabox.com"
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files -z`.split("\x0")
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_development_dependency "bundler", "~> 1.7"
22
+ spec.add_development_dependency "rake", "~> 10.0"
23
+ spec.add_development_dependency "pry"
24
+ spec.add_dependency 'faraday'
25
+ end
@@ -0,0 +1,121 @@
1
+ require 'json'
2
+ require 'faraday'
3
+
4
+ module Blobstache
5
+ class Client
6
+ VERSION = '0.0.1'
7
+ attr_accessor :host, :port, :user_id, :key
8
+
9
+ def initialize(host: 'localhost', port: 1234, user_id: 'id', key: "key")
10
+ self.host = host
11
+ self.port = port
12
+ self.user_id = user_id
13
+ self.key = key
14
+ end
15
+
16
+ # UU UU SSSSS EEEEEEE RRRRRR
17
+ # UU UU SS EE RR RR
18
+ # UU UU SSSSS EEEEE RRRRRR
19
+ # UU UU SS EE RR RR
20
+ # UUUUU SSSSS EEEEEEE RR RR
21
+
22
+ def create_user()
23
+ respond(connection.post("users"))
24
+ end
25
+
26
+ def list_users
27
+ respond(connection.get("users"))
28
+ end
29
+
30
+ def delete_user(id)
31
+ respond(connection.delete("users/#{id}"))
32
+ end
33
+
34
+ # BBBBB UU UU CCCCC KK KK EEEEEEE TTTTTTT
35
+ # BB B UU UU CC C KK KK EE TTT
36
+ # BBBBBB UU UU CC KKKK EEEEE TTT
37
+ # BB BB UU UU CC C KK KK EE TTT
38
+ # BBBBBB UUUUU CCCCC KK KK EEEEEEE TTT
39
+
40
+ def create_bucket(name)
41
+ respond(connection.post("buckets") do |req|
42
+ req.headers['Bucketid'] = name
43
+ end
44
+ )
45
+ end
46
+
47
+ def list_buckets
48
+ respond(connection.get("buckets"))
49
+ end
50
+
51
+ def get_bucket(id)
52
+ respond(connection.get("buckets/#{id}"))
53
+ end
54
+
55
+ def delete_bucket(id)
56
+ respond(connection.delete("buckets/#{id}"))
57
+ end
58
+
59
+ # OOOOO BBBBB JJJ EEEEEEE CCCCC TTTTTTT
60
+ # OO OO BB B JJJ EE CC C TTT
61
+ # OO OO BBBBBB JJJ EEEEE CC TTT
62
+ # OO OO BB BB JJ JJJ EE CC C TTT
63
+ # OOOO0 BBBBBB JJJJJ EEEEEEE CCCCC TTT
64
+
65
+ def create_object(bucket, name, body = "")
66
+ respond(connection.post("objects") do |req|
67
+ req.headers['Bucketid'] = bucket
68
+ req.headers['Objectalias'] = name
69
+ req.body = body
70
+ end)
71
+ end
72
+
73
+ def list_objects(bucket)
74
+ respond(connection.get("objects") do |req|
75
+ req.headers['Bucketid'] = bucket
76
+ end)
77
+ end
78
+
79
+ def get_object_size(bucket, id)
80
+ r = connection.head("objects/#{id}") do |req|
81
+ req.headers['Bucketid'] = bucket
82
+ end
83
+ r.headers["Object-Size"].to_i
84
+ end
85
+
86
+ def get_object(bucket, id)
87
+ connection.get("objects/#{id}") do |req|
88
+ req.headers['Bucketid'] = bucket
89
+ end
90
+ end
91
+
92
+ def delete_object(bucket, id)
93
+ respond(connection.delete("objects/#{id}") do |req|
94
+ req.headers['Bucketid'] = bucket
95
+ end)
96
+ end
97
+
98
+ private
99
+
100
+ def respond(response)
101
+ if response.status / 100 == 2 and response.body != nil and response.body != ""
102
+ return JSON.parse(response.body)
103
+ end
104
+ response
105
+ rescue
106
+ response
107
+ end
108
+
109
+ def connection
110
+ @connection ||= ::Faraday.new(
111
+ url: "http://#{host}:#{port}",
112
+ ssl: {:verify => false},
113
+ headers: {
114
+ "Userid" => user_id,
115
+ "Key" => key
116
+ }
117
+ )
118
+ end
119
+
120
+ end
121
+ end
@@ -0,0 +1 @@
1
+ require 'blobstache/client'
data/lib/blobstache.rb ADDED
@@ -0,0 +1 @@
1
+ require 'blobstache/client'
@@ -0,0 +1 @@
1
+ require 'blobstache/client'
metadata ADDED
@@ -0,0 +1,110 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: blobstache
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Lyon Hill
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-01-22 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.7'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.7'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
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
+ name: pry
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: faraday
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ description: blobstache client
70
+ email:
71
+ - lyondhill@gmail.com
72
+ executables: []
73
+ extensions: []
74
+ extra_rdoc_files: []
75
+ files:
76
+ - ".gitignore"
77
+ - Gemfile
78
+ - LICENSE.txt
79
+ - README.md
80
+ - Rakefile
81
+ - blobstache.gemspec
82
+ - lib/blobstache-client.rb
83
+ - lib/blobstache.rb
84
+ - lib/blobstache/client.rb
85
+ - lib/blobstache_client.rb
86
+ homepage: http://www.pagodabox.com
87
+ licenses:
88
+ - MIT
89
+ metadata: {}
90
+ post_install_message:
91
+ rdoc_options: []
92
+ require_paths:
93
+ - lib
94
+ required_ruby_version: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - ">="
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
99
+ required_rubygems_version: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ requirements: []
105
+ rubyforge_project:
106
+ rubygems_version: 2.2.2
107
+ signing_key:
108
+ specification_version: 4
109
+ summary: blobstache client
110
+ test_files: []