timepad 0.0.1 → 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.
data/.gitignore CHANGED
@@ -22,3 +22,4 @@ tmp
22
22
  *.orig
23
23
  rerun.txt
24
24
  pickle-email-*.html
25
+ *.swp
@@ -0,0 +1,5 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.3
4
+ - 1.9.2
5
+ - ruby-head
data/Gemfile CHANGED
@@ -4,6 +4,7 @@ source 'https://rubygems.org'
4
4
  gemspec
5
5
 
6
6
  group :development, :test do
7
+ gem 'rake'
7
8
  gem 'webmock'
8
9
  gem 'json'
9
10
  gem 'turn'
data/README.md CHANGED
@@ -1,4 +1,57 @@
1
- timepad
2
- =======
1
+ # Timepad
2
+
3
+ [![Build Status](https://secure.travis-ci.org/kaize/timepad.png)](http://travis-ci.org/kaize/timepad)
4
+
5
+ [https://github.com/timepad/timepad\_api/wiki]
6
+
7
+ ## Установка
8
+
9
+ Добавить в Gemfile строки:
10
+
11
+ gem 'timepad'
12
+
13
+ Затем запустить:
14
+
15
+ $ bundle
16
+
17
+ ## Настройка
18
+
19
+ Для работы гема требуется в конфигурации указать `id` и `key`, которые можно найти на странице настроек вашей организации [http://mycompany.timepad.ru/profile]
20
+
21
+ #config/initializers/timepad.rb
22
+ Timepad.configure do |config|
23
+ config.id = 1
24
+ config.key = 'abcde'
25
+ end
26
+
27
+ ## События
28
+
29
+ # Получение списка событий
30
+ events = Timepad.event.get_list :limit => 1, :order_by => :begin
31
+
32
+ # Альтернативный вариант
33
+ events = Timepad.events
34
+
35
+ # Получение события
36
+ event = Timepad.event.get 1
37
+ event = Timepad.event 1
38
+ ## Списки рассылок
39
+
40
+ # Создание списка рассылок
41
+ Timepad.maillist.create 'maillist_title', [{email => 'test@example.com'}]
42
+
43
+ # Получение списка рассылок
44
+ maillists = Timepad.maillist.get_list
45
+
46
+ # Выгрузка списка рассылок
47
+ maillist = Timepad.maillist.get maillist_id
48
+
49
+ # Добавление подписчика в рассылку
50
+ Timepad.maillist.add_items maillist_id, [{email => 'test@exmaple.com'}]
51
+
52
+ ## Письма рассылок
53
+
54
+ # Отправка письма в рассылку
55
+ Timepad.mail.create :subject => 'subject', :text => 'text', :maillists => [1,2], :subscribers => ['a@a.a', 'b@b.b']
56
+
3
57
 
4
- api
data/Rakefile CHANGED
@@ -1,2 +1,10 @@
1
1
  #!/usr/bin/env rake
2
2
  require "bundler/gem_tasks"
3
+ require 'rake/testtask'
4
+
5
+ Rake::TestTask.new do |t|
6
+ t.pattern = "test/**/*_test.rb"
7
+ t.libs.push 'test'
8
+ end
9
+
10
+ task :default => ['test']
@@ -1,10 +1,45 @@
1
+ require 'json'
2
+ require 'net/http'
3
+ require 'active_support/core_ext/enumerable'
4
+
1
5
  module Timepad
2
6
  autoload :Base, 'timepad/base'
3
7
  autoload :Version, 'timepad/version'
4
8
  autoload :Maillist, 'timepad/maillist'
9
+ autoload :Mail, 'timepad/mail'
5
10
  autoload :Event, 'timepad/event'
6
11
  autoload :Category, 'timepad/category'
7
12
  autoload :Config, 'timepad/config'
8
-
13
+ autoload :Client, 'timepad/client'
9
14
  extend Config
15
+
16
+ def self.maillist
17
+ client.maillist
18
+ end
19
+
20
+ def self.mail
21
+ client.mail
22
+ end
23
+
24
+ def self.category
25
+ client.category
26
+ end
27
+
28
+ def self.event(id = nil)
29
+ event = client.event
30
+ id.nil? ? event : event.get(id)
31
+ end
32
+
33
+ def self.events(attrs ={})
34
+ event = client.event
35
+ event.get_list attrs
36
+ end
37
+
38
+ def self.client(attrs = {})
39
+ if !@client
40
+ @client = Timepad::Client.new(attrs)
41
+ end
42
+ @client
43
+ end
44
+
10
45
  end
@@ -3,21 +3,40 @@ require 'net/http'
3
3
 
4
4
  module Timepad
5
5
  class Base
6
- def self.request(action, params = {})
6
+ def request(action, params = {})
7
7
  uri = make_uri(action, params)
8
8
  response = Net::HTTP.get(uri)
9
9
  JSON.parse(response)
10
10
  end
11
11
 
12
- def self.make_query(params)
12
+ def make_query(params)
13
13
  params.map{|key, value| value.nil? ? "" : "#{key}=#{value}"}.join('&')
14
14
  end
15
15
 
16
- def self.make_uri(action, params = {})
17
- params.merge!({'id' => Timepad.id, 'code' => Timepad.key})
16
+ def make_uri(action, params = {})
17
+ params.merge!({'id' => @client.id, 'code' => @client.key})
18
18
  query = make_query(params)
19
- object = self.name.split('::').last.downcase
19
+ object = self.class.name.split('::').last.downcase
20
20
  URI("#{Timepad.endpoint.downcase}#{object}_#{action}?#{query}")
21
21
  end
22
+
23
+ # Convert Array of Hash to Hash
24
+ #
25
+ # @param subscribers [Array]
26
+ # @return [Hash]
27
+ def subscribers_to_hash(subscribers)
28
+ i = 0
29
+ params = {}
30
+ subscribers.each do |subscriber|
31
+ next if subscriber[:email].empty?
32
+ %w(email name surnname middlename company phone comment).each do |key|
33
+ if subscriber[key.to_sym]
34
+ params[ "i#{i}_#{key}".to_sym ] = subscriber[key.to_sym]
35
+ end
36
+ end
37
+ i += 1
38
+ end
39
+ params
40
+ end
22
41
  end
23
42
  end
@@ -1,11 +1,15 @@
1
1
  module Timepad
2
2
  class Category < Base
3
+ def initialize(timepad_client)
4
+ @client = timepad_client
5
+ end
6
+
3
7
 
4
8
  # Get all categories
5
9
  #
6
10
  # @return [Array]
7
- def self.get_list
8
- request('getlist')
11
+ def get_list
12
+ request 'getlist'
9
13
  end
10
14
 
11
15
  end
@@ -0,0 +1,51 @@
1
+ module Timepad
2
+ class Client
3
+
4
+ # Initalize new API
5
+ #
6
+ # @param attrs [Hash]
7
+ # @return [Timepad::Client]
8
+ def initialize(attrs = {})
9
+ attrs = Timepad.options.merge(attrs)
10
+ Config::VALID_OPTIONS_KEYS.each do |key|
11
+ instance_variable_set("@#{key}".to_sym, attrs[key])
12
+ end
13
+ end
14
+
15
+ # Return Maillist object
16
+ #
17
+ # @return [Timepad::Maillist]
18
+ def maillist
19
+ @maillist ||= Timepad::Maillist.new(self)
20
+ end
21
+
22
+ # Return Mail object
23
+ #
24
+ # @return [Timepad::Mail]
25
+ def mail
26
+ @mail ||= Timepad::Mail.new(self)
27
+ end
28
+
29
+ # Category object
30
+ #
31
+ # @return [Timepad::Category]
32
+ def category
33
+ @category ||= Timepad::Category.new(self)
34
+ end
35
+
36
+ # Event object
37
+ #
38
+ # @return [Timepad::Event]
39
+ def event
40
+ @event ||= Timepad::Event.new(self)
41
+ end
42
+
43
+ def key
44
+ @key
45
+ end
46
+
47
+ def id
48
+ @id
49
+ end
50
+ end
51
+ end
@@ -24,6 +24,15 @@ module Timepad
24
24
  self
25
25
  end
26
26
 
27
+ # Create a hash of options and their values
28
+ #
29
+ # @return [Hash]
30
+ def options
31
+ options = {}
32
+ VALID_OPTIONS_KEYS.each{|k| options[k] = send(k)}
33
+ options
34
+ end
35
+
27
36
  def reset
28
37
  self.id = DEFAULT_ID
29
38
  self.key = DEFAULT_KEY
@@ -1,28 +1,51 @@
1
1
  module Timepad
2
2
  class Event < Base
3
3
 
4
+ def initialize(timepad_client)
5
+ @client = timepad_client
6
+ end
7
+
4
8
  # Get all events
5
9
  #
6
10
  # @param [Hash{cat_id => String, limit => String, order_by =>String}]
7
11
  # @return [Array]
8
- def self.get_list params = {}
9
- request('getlist', params)
12
+ def get_list(attrs = {})
13
+ request 'getlist', attrs
10
14
  end
11
15
 
12
16
  # Get event by event_id
13
17
  #
14
18
  # @param [String] event_id
15
19
  # @return [Array]
16
- def self.get event_id
17
- request('get', :e_id => event_id)
20
+ def get(event_id)
21
+ request 'get', :e_id => event_id
18
22
  end
19
23
 
20
- # Get event subscribers
24
+ # Get event members
21
25
  #
22
26
  # @params [String] event_id
23
27
  # @return [Array]
24
- def self.export event_id
25
- request('export', :e_id => event_id)
28
+ def export(event_id, attrs = nil)
29
+ request_attrs = {:e_id => event_id}
30
+ request_attrs.merge!(attrs) unless attrs.nil?
31
+ request 'export', request_attrs
32
+ end
33
+
34
+ # Create event
35
+ #
36
+ # @params [Hash{name => String, }]
37
+ # @return [Array]
38
+ def create(attrs)
39
+ request 'create', attrs
26
40
  end
41
+
42
+ # Register event member
43
+ #
44
+ # @params [Hash{e_id => String, re_id => String, mail => String}]
45
+ # @retur [Array]
46
+ def register(attrs)
47
+ request 'register', attrs
48
+ end
49
+
27
50
  end
28
51
  end
@@ -0,0 +1,44 @@
1
+ module Timepad
2
+ class Mail < Base
3
+
4
+ def initialize(timepad_client)
5
+ @client = timepad_client
6
+ end
7
+
8
+ # Create and send mail
9
+ #
10
+ # @param attrs [Hash] mail attributes
11
+ # @return [Array]
12
+ def create attrs
13
+ params = {}
14
+ params[:name] = attrs[:subject] if attrs.has_key?(:subject)
15
+ params[:text] = attrs[:text] if attrs.has_key?(:text)
16
+ params[:e_id] = attrs[:event] if attrs.has_key?(:event)
17
+ params[:reply_to] = attrs[:reply_to] if attrs.has_key?(:reply_to)
18
+ params[:template] = attrs[:template] if attrs.has_key?(:template)
19
+ params[:org_info] = attrs[:org_info] if attrs.has_key?(:org_info)
20
+
21
+ if attrs.has_key?(:subscribers)
22
+ i = 0
23
+ attrs[:subscribers].each do |email|
24
+ params["a#{i}".to_sym] = email
25
+ i += 1
26
+ end
27
+ end
28
+
29
+ attrs[:maillists] ||= []
30
+ if attrs.has_key?(:maillist)
31
+ attrs[:maillists] << attrs[:maillist]
32
+ end
33
+
34
+ i = 0
35
+ attrs[:maillists].each do |maillist_id|
36
+ params["m#{i}".to_sym] = maillist_id
37
+ i += 1
38
+ end
39
+
40
+ request 'create', params
41
+ end
42
+
43
+ end
44
+ end
@@ -1,20 +1,49 @@
1
1
  module Timepad
2
2
  class Maillist < Base
3
3
 
4
+ def initialize(timepad_client)
5
+ @client = timepad_client
6
+ end
7
+
4
8
  # Get all maillists
5
9
  #
6
10
  # @return [Array]
7
- def self.get_list
8
- request('getlist')
11
+ def get_list
12
+ request 'getlist'
9
13
  end
10
14
 
11
15
  # Get maillist subscribers
12
16
  #
13
- # @param [String] maillist id
17
+ # @param maillist_id [String] maillist id
14
18
  # @return [Array]
15
- def self.get maillist_id
16
- request('get', :maillist => maillist_id)
19
+ def get maillist_id
20
+ request 'get', :maillist => maillist_id
21
+ end
22
+
23
+ # Add maillist subscribers
24
+ #
25
+ # @param maillist_id [String] maillist id
26
+ # @param subscribers [Array]
27
+ def add_items maillist_id, subscribers
28
+ if subscribers.kind_of? Hash
29
+ subscribers = [subscribers]
30
+ end
31
+
32
+ params = subscribers_to_hash(subscribers)
33
+ params[:m_id] = maillist_id
34
+
35
+ request 'add_items', params
17
36
  end
18
37
 
38
+ # Create maillist
39
+ #
40
+ # @param title [String] maillist title
41
+ # @param subscribers [Array] maillist initial subscribers
42
+ def create title, subscribers
43
+ params = subscribers_to_hash(subscribers)
44
+ params[:name] = title
45
+
46
+ request 'create', params
47
+ end
19
48
  end
20
49
  end
@@ -1,3 +1,3 @@
1
1
  module Timepad
2
- VERSION = "0.0.1"
2
+ VERSION = "0.1.2"
3
3
  end
@@ -1,3 +1,4 @@
1
1
  require 'minitest/unit'
2
+ require 'minitest/autorun'
2
3
  require 'webmock/minitest'
3
4
  require 'timepad'
@@ -0,0 +1,38 @@
1
+ require 'test_helper'
2
+
3
+ class Timepad::BaseTest < MiniTest::Unit::TestCase
4
+
5
+ def setup
6
+ Timepad.configure do |config|
7
+ config.key = 'api_key'
8
+ config.id = '7912'
9
+ end
10
+ @client = Timepad::Client.new
11
+ @base = Timepad::Base.new
12
+ @base.instance_variable_set(:@client,@client)
13
+ end
14
+
15
+ def test_should_make_query
16
+ query = @base.make_query :a => 'b', :c => 'd'
17
+
18
+ assert_equal 'a=b&c=d', query
19
+ end
20
+
21
+ def test_should_make_query_without_nil_value
22
+ query = @base.make_query :a => nil, :c => 'd'
23
+
24
+ assert_equal '&c=d', query
25
+ end
26
+
27
+ def test_should_make_request
28
+ request = stub_http_request(:get, "#{Timepad.endpoint}base_action")
29
+ .with(:query => {:code => Timepad.key, :id => Timepad.id, :param => 'value' })
30
+ .to_return(:body => '["test"]')
31
+
32
+ @base.request 'action', :param => 'value'
33
+
34
+ assert_requested(request)
35
+ end
36
+
37
+
38
+ end
@@ -10,9 +10,13 @@ class Timepad::CategoryTest < MiniTest::Unit::TestCase
10
10
  end
11
11
 
12
12
  def test_should_get_categories
13
- stub_http_request(:get, "#{Timepad.endpoint}category_getlist")
13
+ request = stub_http_request(:get, "#{Timepad.endpoint}category_getlist")
14
14
  .with(:query => {:code => Timepad.key, :id => Timepad.id})
15
- .to_return(:body => '[]')
16
- Timepad::Category.get_list
15
+ .to_return(:body => '["test"]')
16
+
17
+ result = Timepad.category.get_list
18
+
19
+ assert_requested(request)
20
+ assert_equal result, ["test"]
17
21
  end
18
22
  end
@@ -0,0 +1,46 @@
1
+ require 'test_helper'
2
+
3
+ class Timepad::ClientTest < MiniTest::Unit::TestCase
4
+
5
+ def setup
6
+ Timepad.configure do |config|
7
+ config.key = 'api_key'
8
+ config.id = '7912'
9
+ end
10
+ @client = Timepad::Client.new
11
+ end
12
+
13
+ def test_should_get_client
14
+ assert_kind_of Timepad::Client, @client
15
+ end
16
+
17
+ def test_should_get_maillist
18
+ maillist = @client.maillist
19
+ assert_kind_of Timepad::Maillist, maillist
20
+ end
21
+
22
+ def test_should_get_mail
23
+ mail = @client.mail
24
+ assert_kind_of Timepad::Mail, mail
25
+ end
26
+
27
+ def test_should_get_category
28
+ category = @client.category
29
+ assert_kind_of Timepad::Category, category
30
+ end
31
+
32
+ def test_should_get_event
33
+ event = @client.event
34
+ assert_kind_of Timepad::Event, event
35
+ end
36
+
37
+ def test_should_get_key
38
+ key = @client.key
39
+ assert_equal 'api_key', @client.key
40
+ end
41
+
42
+ def test_should_get_id
43
+ key = @client.id
44
+ assert_equal '7912', @client.id
45
+ end
46
+ end
@@ -10,34 +10,84 @@ class Timepad::EventTest < MiniTest::Unit::TestCase
10
10
  end
11
11
 
12
12
  def test_should_get_events
13
- stub_http_request(:get, "#{Timepad.endpoint}event_getlist")
14
- .with(:query => {:code => Timepad.key, :id => Timepad.id})
15
- .to_return(:body => '[]')
16
- Timepad::Event.get_list
13
+ request = stub_http_request(:get, "#{Timepad.endpoint}event_getlist")
14
+ .with(:query => {:code => Timepad.key, :id => Timepad.id, :limit => 1, :order_by => 'begin'})
15
+ .to_return(:body => '["test"]')
16
+
17
+ result = Timepad.event.get_list :limit => 1, :order_by => :begin
18
+
19
+ assert_requested(request)
20
+ assert_equal result, ["test"]
17
21
  end
18
22
 
19
- def test_should_get_events_by_category
20
- category_id = 1
21
- stub_http_request(:get, "#{Timepad.endpoint}event_getlist")
22
- .with(:query => {:code => Timepad.key, :id => Timepad.id, :cat_id => category_id})
23
- .to_return(:body => '[]')
24
- Timepad::Event.get_list :cat_id => category_id
23
+ def test_should_get_events_too
24
+ request = stub_http_request(:get, "#{Timepad.endpoint}event_getlist")
25
+ .with(:query => {:code => Timepad.key, :id => Timepad.id, :limit => 1, :order_by => 'begin'})
26
+ .to_return(:body => '["test"]')
27
+
28
+ result = Timepad.events :limit => 1, :order_by => :begin
29
+
30
+ assert_requested(request)
31
+ assert_equal result, ["test"]
25
32
  end
26
33
 
27
- def test_shoul_get_event
28
- event_id = 1
29
- stub_http_request(:get, "#{Timepad.endpoint}event_get")
30
- .with(:query => {:code => Timepad.key, :id => Timepad.id, :e_id => event_id})
31
- .to_return(:body => '[]')
32
- Timepad::Event.get event_id
34
+ def test_should_get_event
35
+ request = stub_http_request(:get, "#{Timepad.endpoint}event_get")
36
+ .with(:query => {:code => Timepad.key, :id => Timepad.id, :e_id => 1})
37
+ .to_return(:body => '["test"]')
38
+ result = Timepad.event 1
39
+
40
+ assert_requested(request)
41
+ assert_equal result, ["test"]
33
42
  end
34
43
 
35
- def test_shoul_get_event_subscribers
36
- event_id = 1
37
- stub_http_request(:get, "#{Timepad.endpoint}event_export")
38
- .with(:query => {:code => Timepad.key, :id => Timepad.id, :e_id => event_id})
39
- .to_return(:body => '[]')
40
- Timepad::Event.export event_id
44
+ def test_should_get_event_to
45
+ request = stub_http_request(:get, "#{Timepad.endpoint}event_get")
46
+ .with(:query => {:code => Timepad.key, :id => Timepad.id, :e_id => 1})
47
+ .to_return(:body => '["test"]')
48
+ result = Timepad.event.get 1
49
+
50
+ assert_requested(request)
51
+ assert_equal result, ["test"]
52
+ end
53
+
54
+ def test_should_export_event_members
55
+ request = stub_http_request(:get, "#{Timepad.endpoint}event_export")
56
+ .with(:query => {:code => Timepad.key, :id => Timepad.id, :e_id => 1})
57
+ .to_return(:body => '["test"]')
58
+ result = Timepad.event.export 1
59
+
60
+ assert_requested(request)
61
+ assert_equal result, ["test"]
41
62
  end
42
63
 
64
+ def test_should_export_event_member
65
+ request = stub_http_request(:get, "#{Timepad.endpoint}event_export")
66
+ .with(:query => {:code => Timepad.key, :id => Timepad.id, :e_id => 1, :r_id => 2})
67
+ .to_return(:body => '["test"]')
68
+ result = Timepad.event.export 1, :r_id => 2
69
+
70
+ assert_requested(request)
71
+ assert_equal result, ["test"]
72
+ end
73
+
74
+ def test_should_create_event
75
+ request = stub_http_request(:get, "#{Timepad.endpoint}event_create")
76
+ .with(:query => {:code => Timepad.key, :id => Timepad.id, :name => 'Name', :start_date => '2011-02-27'})
77
+ .to_return(:body => '["test"]')
78
+ result = Timepad.event.create :name => 'Name', :start_date => '2011-02-27'
79
+
80
+ assert_requested(request)
81
+ assert_equal result, ["test"]
82
+ end
83
+
84
+ def test_should_register_event_member
85
+ request = stub_http_request(:get, "#{Timepad.endpoint}event_register")
86
+ .with(:query => {:code => Timepad.key, :id => Timepad.id, :e_id => 1, :re_id => 2})
87
+ .to_return(:body => '["test"]')
88
+ result = Timepad.event.register :e_id => 1, :re_id => 2
89
+
90
+ assert_requested(request)
91
+ assert_equal result, ["test"]
92
+ end
43
93
  end
@@ -0,0 +1,20 @@
1
+ require 'test_helper'
2
+
3
+ class Timepad::MailTest < MiniTest::Unit::TestCase
4
+
5
+ def setup
6
+ Timepad.configure do |config|
7
+ config.key = 'api_key'
8
+ config.id = '7912'
9
+ end
10
+ end
11
+
12
+ def test_should_create_mail
13
+ request = stub_request(:get, "http://timepad.ru/api/mail_create?a0=a@a.a&a1=b@b.b&code=api_key&id=7912&m0=1&m1=2&name=subject&text=text").to_return(:body => '["test"]')
14
+ result = Timepad.mail.create :subject => 'subject', :text => 'text', :maillists => [1,2], :subscribers => ['a@a.a', 'b@b.b']
15
+
16
+ assert_requested(request)
17
+ assert_equal result, ["test"]
18
+ end
19
+
20
+ end
@@ -9,10 +9,50 @@ class Timepad::MaillistTest < MiniTest::Unit::TestCase
9
9
  end
10
10
  end
11
11
 
12
- def test_should_get_mailists
13
- stub_http_request(:get, "#{Timepad.endpoint}maillist_getlist")
12
+ def test_should_get_maillists
13
+ request = stub_http_request(:get, "#{Timepad.endpoint}maillist_getlist")
14
14
  .with(:query => {:code => Timepad.key, :id => Timepad.id})
15
- .to_return(:body => '[]')
16
- Timepad::Maillist.get_list
15
+ .to_return(:body => '["test"]')
16
+
17
+ result = Timepad.maillist.get_list
18
+
19
+ assert_requested(request)
20
+ assert_equal result, ["test"]
17
21
  end
22
+
23
+ def test_should_get_maillist
24
+ request = stub_http_request(:get, "#{Timepad.endpoint}maillist_get")
25
+ .with(:query => {:code => Timepad.key, :id => Timepad.id, :maillist => 'test'})
26
+ .to_return(:body => '["test"]')
27
+
28
+ result = Timepad.maillist.get 'test'
29
+
30
+ assert_requested(request)
31
+ assert_equal result, ["test"]
32
+ end
33
+
34
+ def test_should_add_subscribers
35
+ request = stub_http_request(:get, "#{Timepad.endpoint}maillist_add_items")
36
+ .with(:query => {:code => Timepad.key, :id => Timepad.id, :m_id => 'test', :i0_email => 'test@example.com'})
37
+ .to_return(:body => '["test"]')
38
+
39
+ result = Timepad.maillist.add_items 'test', [{:email => 'test@example.com'}]
40
+
41
+ assert_requested(request)
42
+ assert_equal result, ["test"]
43
+ end
44
+
45
+ def test_should_create_maillist
46
+ request = stub_http_request(:get, "#{Timepad.endpoint}maillist_create")
47
+ .with(:query => {:code => Timepad.key, :id => Timepad.id, :name => 'test', :i0_email => 'test@example.com'})
48
+ .to_return(:body => '["test"]')
49
+
50
+ result = Timepad.maillist.create 'test', [{:email => 'test@example.com'}]
51
+
52
+ assert_requested(request)
53
+ assert_equal result, ["test"]
54
+ end
55
+
56
+
57
+
18
58
  end
@@ -0,0 +1,37 @@
1
+ require 'test_helper'
2
+
3
+ class TimepadTest < MiniTest::Unit::TestCase
4
+
5
+ def setup
6
+ Timepad.configure do |config|
7
+ config.key = 'api_key'
8
+ config.id = '7912'
9
+ end
10
+ end
11
+
12
+ def test_should_get_client_instance
13
+ client = Timepad.client
14
+ assert_kind_of Timepad::Client, client
15
+ end
16
+
17
+ def test_should_get_mailist_instance
18
+ maillist = Timepad.maillist
19
+ assert_kind_of Timepad::Maillist, maillist
20
+ end
21
+
22
+ def test_should_get_mail_instance
23
+ mail = Timepad.mail
24
+ assert_kind_of Timepad::Mail, mail
25
+ end
26
+
27
+ def test_should_get_category_instance
28
+ category = Timepad.category
29
+ assert_kind_of Timepad::Category, category
30
+ end
31
+
32
+ def test_should_get_event_instance
33
+ event = Timepad.event
34
+ assert_kind_of Timepad::Event, event
35
+ end
36
+
37
+ end
@@ -6,7 +6,8 @@ Gem::Specification.new do |gem|
6
6
  gem.email = ["subbota@gmail.com"]
7
7
  gem.description = %q{Gem that provide access to timepad.ru api}
8
8
  gem.summary = %q{See description}
9
- gem.homepage = "https://github.com/kaize/timepad/"
9
+ gem.homepage = ""
10
+ gem.add_dependency('activesupport')
10
11
 
11
12
  gem.files = `git ls-files`.split("\n")
12
13
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: timepad
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,8 +9,24 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-05-29 00:00:00.000000000 Z
13
- dependencies: []
12
+ date: 2012-09-11 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: activesupport
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
14
30
  description: Gem that provide access to timepad.ru api
15
31
  email:
16
32
  - subbota@gmail.com
@@ -19,23 +35,29 @@ extensions: []
19
35
  extra_rdoc_files: []
20
36
  files:
21
37
  - .gitignore
38
+ - .travis.yml
22
39
  - Gemfile
23
40
  - README.md
24
- - README.rdoc
25
41
  - Rakefile
26
42
  - lib/timepad.rb
27
43
  - lib/timepad/base.rb
28
44
  - lib/timepad/category.rb
45
+ - lib/timepad/client.rb
29
46
  - lib/timepad/config.rb
30
47
  - lib/timepad/event.rb
48
+ - lib/timepad/mail.rb
31
49
  - lib/timepad/maillist.rb
32
50
  - lib/timepad/version.rb
33
51
  - test/test_helper.rb
52
+ - test/timepad/base_test.rb
34
53
  - test/timepad/category_test.rb
54
+ - test/timepad/client_test.rb
35
55
  - test/timepad/event_test.rb
56
+ - test/timepad/mail_test.rb
36
57
  - test/timepad/maillist_test.rb
58
+ - test/timepad_test.rb
37
59
  - timepad.gemspec
38
- homepage: https://github.com/kaize/timepad/
60
+ homepage: ''
39
61
  licenses: []
40
62
  post_install_message:
41
63
  rdoc_options: []
@@ -61,7 +83,11 @@ specification_version: 3
61
83
  summary: See description
62
84
  test_files:
63
85
  - test/test_helper.rb
86
+ - test/timepad/base_test.rb
64
87
  - test/timepad/category_test.rb
88
+ - test/timepad/client_test.rb
65
89
  - test/timepad/event_test.rb
90
+ - test/timepad/mail_test.rb
66
91
  - test/timepad/maillist_test.rb
92
+ - test/timepad_test.rb
67
93
  has_rdoc:
@@ -1,4 +0,0 @@
1
- timepad
2
- =======
3
-
4
- api