timepad 0.0.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
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