bc3client 0.1.0 → 0.1.2
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 +4 -4
- data/bc3client.gemspec +3 -2
- data/bin/console +1 -1
- data/lib/messenger.rb +31 -0
- data/lib/{bc3client → messenger}/basecamp.rb +2 -4
- data/lib/messenger/models/company.rb +5 -0
- data/lib/messenger/models/entity.rb +3 -0
- data/lib/messenger/models/person.rb +40 -0
- data/lib/messenger/people.rb +24 -0
- data/lib/{bc3client → messenger}/resource.rb +2 -7
- data/lib/{bc3client → messenger}/todo.rb +3 -4
- data/lib/{bc3client → messenger}/todo_list.rb +3 -4
- data/lib/{bc3client → messenger}/todo_set.rb +3 -4
- data/lib/messenger/version.rb +3 -0
- metadata +27 -12
- data/bin/bc3client +0 -2
- data/lib/bc3client.rb +0 -5
- data/lib/bc3client/client.rb +0 -30
- data/lib/bc3client/models/basecamp.rb +0 -1
- data/lib/bc3client/version.rb +0 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4360c097ba92c816d004681e8a8e49ec8e8d5dcf
|
4
|
+
data.tar.gz: a801b4af7ccaea97d1f5b735aea47c36a9e50a1b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9f53dcac7da859996e88ad6acc00829f70251087b6a65b827f54859ea31b4bcf515ac82f05947a04f4163b1b4e5abfc9ccd0a4e36365e74e00b3ac7ffc999fcd
|
7
|
+
data.tar.gz: 5d80611fe60644c9196af36c964c23104641126b7c554a13d4173c4ca1e136fc388695b29cab7180a993d0fde1f62690b2146fa7174744db2010fe48a793adf3
|
data/bc3client.gemspec
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
lib = File.expand_path('../lib', __FILE__)
|
3
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require '
|
4
|
+
require 'messenger/version'
|
5
5
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = "bc3client"
|
8
|
-
spec.version =
|
8
|
+
spec.version = Messenger::VERSION
|
9
9
|
spec.authors = ["Mitch Stewart"]
|
10
10
|
spec.email = ["mitch.stewart.io@gmail.com"]
|
11
11
|
|
@@ -34,4 +34,5 @@ Gem::Specification.new do |spec|
|
|
34
34
|
spec.add_development_dependency "rake", "~> 10.0"
|
35
35
|
spec.add_development_dependency "rspec", "~> 3.0"
|
36
36
|
spec.add_development_dependency "json"
|
37
|
+
spec.add_development_dependency "pry", "~> 0.10.4"
|
37
38
|
end
|
data/bin/console
CHANGED
data/lib/messenger.rb
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
require "messenger/version"
|
2
|
+
require "messenger/people"
|
3
|
+
require "messenger/resource"
|
4
|
+
require "messenger/basecamp"
|
5
|
+
|
6
|
+
module Messenger
|
7
|
+
class Client
|
8
|
+
attr_accessor :basecamp
|
9
|
+
|
10
|
+
def initialize(*args)
|
11
|
+
@args = args
|
12
|
+
@basecamp = Messenger::Basecamp.new(@args)
|
13
|
+
end
|
14
|
+
|
15
|
+
def todo project_id
|
16
|
+
Messenger::ToDo.new Array.new(@args).push(project_id)
|
17
|
+
end
|
18
|
+
|
19
|
+
def todo_list project_id
|
20
|
+
Messenger::ToDoList.new Array.new(@args).push(project_id)
|
21
|
+
end
|
22
|
+
|
23
|
+
def todo_set project_id
|
24
|
+
Messenger::ToDoSet.new Array.new(@args).push(project_id)
|
25
|
+
end
|
26
|
+
|
27
|
+
def people
|
28
|
+
Messenger::People.new Array.new(@args)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require "messenger/models/entity"
|
2
|
+
require "messenger/models/company"
|
3
|
+
require "time"
|
4
|
+
|
5
|
+
class Person < Entity
|
6
|
+
|
7
|
+
attr_accessor :attachable_sgid,
|
8
|
+
:name,
|
9
|
+
:email_address,
|
10
|
+
:personable_type,
|
11
|
+
:title,
|
12
|
+
:bio,
|
13
|
+
:created_at,
|
14
|
+
:updated_at,
|
15
|
+
:admin,
|
16
|
+
:owner,
|
17
|
+
:time_zone,
|
18
|
+
:avatar_url,
|
19
|
+
:company
|
20
|
+
|
21
|
+
def initialize(json)
|
22
|
+
@id = json['id']
|
23
|
+
@attachable_sgid = json['attachable_sgid']
|
24
|
+
@name = json['name']
|
25
|
+
@email_address = json['email_address']
|
26
|
+
@personable_type = json['personable_type']
|
27
|
+
@title = json['title']
|
28
|
+
@bio = json['bio']
|
29
|
+
@created_at = Time.parse(json['created_at'])
|
30
|
+
@updated_at = Time.parse(json['updated_at'])
|
31
|
+
@admin = json['admin']
|
32
|
+
@owner = json['owner']
|
33
|
+
@time_zone = json['time_zone']
|
34
|
+
@avatar_url = json['avatar_url']
|
35
|
+
|
36
|
+
@company = Company.new
|
37
|
+
@company.id = json['company']['id']
|
38
|
+
@company.name = json['company']['name']
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'messenger'
|
2
|
+
require 'messenger/models/person'
|
3
|
+
require "messenger/resource"
|
4
|
+
|
5
|
+
module Messenger
|
6
|
+
class People < Resource
|
7
|
+
|
8
|
+
def initialize(*args)
|
9
|
+
args = args.flatten(1) unless !args[0].is_a?(Array)
|
10
|
+
super(args)
|
11
|
+
end
|
12
|
+
|
13
|
+
def my_profile
|
14
|
+
profile_json = get build_uri(my_profile_path)
|
15
|
+
Person.new profile_json
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
def my_profile_path
|
21
|
+
"/#{@account_id}/my/profile.json"
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -1,7 +1,6 @@
|
|
1
|
-
require '
|
2
|
-
|
3
|
-
module Bc3client
|
1
|
+
require 'messenger'
|
4
2
|
|
3
|
+
module Messenger
|
5
4
|
class Resource
|
6
5
|
|
7
6
|
def initialize(*args)
|
@@ -12,10 +11,6 @@ module Bc3client
|
|
12
11
|
@base_uri = "https://3.basecampapi.com"
|
13
12
|
end
|
14
13
|
|
15
|
-
def test
|
16
|
-
puts "account id = #{@account_id}"
|
17
|
-
end
|
18
|
-
|
19
14
|
def build_uri(path)
|
20
15
|
URI.parse(@base_uri + path)
|
21
16
|
end
|
@@ -1,11 +1,10 @@
|
|
1
|
-
require '
|
1
|
+
require 'messenger'
|
2
2
|
require "net/http"
|
3
3
|
require "uri"
|
4
|
-
require "
|
4
|
+
require "messenger/resource"
|
5
5
|
require "json"
|
6
6
|
|
7
|
-
module
|
8
|
-
|
7
|
+
module Messenger
|
9
8
|
class ToDo < Resource
|
10
9
|
|
11
10
|
def initialize(*args)
|
@@ -1,11 +1,10 @@
|
|
1
|
-
require '
|
1
|
+
require 'messenger'
|
2
2
|
require "net/http"
|
3
3
|
require "uri"
|
4
|
-
require "
|
4
|
+
require "messenger/resource"
|
5
5
|
require "json"
|
6
6
|
|
7
|
-
module
|
8
|
-
|
7
|
+
module Messenger
|
9
8
|
class ToDoList < Resource
|
10
9
|
|
11
10
|
def initialize(*args)
|
@@ -1,11 +1,10 @@
|
|
1
|
-
require '
|
1
|
+
require 'messenger'
|
2
2
|
require "net/http"
|
3
3
|
require "uri"
|
4
|
-
require "
|
4
|
+
require "messenger/resource"
|
5
5
|
require "json"
|
6
6
|
|
7
|
-
module
|
8
|
-
|
7
|
+
module Messenger
|
9
8
|
class ToDoSet < Resource
|
10
9
|
|
11
10
|
def initialize(*args)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bc3client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mitch Stewart
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-07-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '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.10.4
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 0.10.4
|
69
83
|
description: This gem is a client for Basecamp 3's API.
|
70
84
|
email:
|
71
85
|
- mitch.stewart.io@gmail.com
|
@@ -81,18 +95,19 @@ files:
|
|
81
95
|
- README.md
|
82
96
|
- Rakefile
|
83
97
|
- bc3client.gemspec
|
84
|
-
- bin/bc3client
|
85
98
|
- bin/console
|
86
99
|
- bin/setup
|
87
|
-
- lib/
|
88
|
-
- lib/
|
89
|
-
- lib/
|
90
|
-
- lib/
|
91
|
-
- lib/
|
92
|
-
- lib/
|
93
|
-
- lib/
|
94
|
-
- lib/
|
95
|
-
- lib/
|
100
|
+
- lib/messenger.rb
|
101
|
+
- lib/messenger/basecamp.rb
|
102
|
+
- lib/messenger/models/company.rb
|
103
|
+
- lib/messenger/models/entity.rb
|
104
|
+
- lib/messenger/models/person.rb
|
105
|
+
- lib/messenger/people.rb
|
106
|
+
- lib/messenger/resource.rb
|
107
|
+
- lib/messenger/todo.rb
|
108
|
+
- lib/messenger/todo_list.rb
|
109
|
+
- lib/messenger/todo_set.rb
|
110
|
+
- lib/messenger/version.rb
|
96
111
|
homepage: https://github.com/mitchstewart/bc3client
|
97
112
|
licenses:
|
98
113
|
- MIT
|
data/bin/bc3client
DELETED
data/lib/bc3client.rb
DELETED
data/lib/bc3client/client.rb
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
require 'bc3client'
|
2
|
-
require "net/http"
|
3
|
-
require "uri"
|
4
|
-
require "bc3client/resource"
|
5
|
-
require "json"
|
6
|
-
|
7
|
-
module Bc3client
|
8
|
-
|
9
|
-
class Client
|
10
|
-
|
11
|
-
attr_accessor :basecamp
|
12
|
-
|
13
|
-
def initialize(*args)
|
14
|
-
@args = args
|
15
|
-
@basecamp = Bc3client::Basecamp.new(@args)
|
16
|
-
end
|
17
|
-
|
18
|
-
def todo project_id
|
19
|
-
Bc3client::ToDo.new Array.new(@args).push(project_id)
|
20
|
-
end
|
21
|
-
|
22
|
-
def todo_list project_id
|
23
|
-
Bc3client::ToDoList.new Array.new(@args).push(project_id)
|
24
|
-
end
|
25
|
-
|
26
|
-
def todo_set project_id
|
27
|
-
Bc3client::ToDoSet.new Array.new(@args).push(project_id)
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
@@ -1 +0,0 @@
|
|
1
|
-
# TODO
|
data/lib/bc3client/version.rb
DELETED