pechkinrb 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: cd3a89fe6b95d51923b3f65d041b7afe41218bf2
4
- data.tar.gz: 1eb794dec52e6516e6c40333114bbf28bf6d096b
3
+ metadata.gz: b12560dec83e2cc81e6e2767488f07ca6f136742
4
+ data.tar.gz: 5fd46487c190259b0e508f7343ce42ac5651821c
5
5
  SHA512:
6
- metadata.gz: c7f8ad2a4c1c40c6853eab8b4fe590421ba7e1d5b5a8471fdda97fd0c47d588e47523e5ac5781c3e82349f0bea18840b34d297698c5941eb59605c1e900eeb66
7
- data.tar.gz: efd2cab51e9ef1c39972fff1baddc33e807d969097fc883a3b0f8bcd93a2525aaac3b049c22b57921d37b03455fef739ec50b7632af982f10d3ecc712f7b0eb9
6
+ metadata.gz: c231c3a005e5f9ce01f5042ba7c4949080a0969490fe2cd33a25d88f29d499689ea1411b023d99b3c1ce96cfa54f5442c8aec1c6356b091c18954a08136325f2
7
+ data.tar.gz: 0c9198aac51848c50e261658547482f9a3d085899812bbe77016bb37a87da33d94614a115d5a842e54bd87076be9ef5ffdab6efe7f892d7682758386b17db175
data/README.md CHANGED
@@ -1,7 +1,11 @@
1
- # Pechkinrb
1
+ # PechkinRb
2
+
3
+ [![Code Climate](https://codeclimate.com/github/crsde/PechkinRb/badges/gpa.svg)](https://codeclimate.com/github/crsde/PechkinRb)
2
4
 
3
5
  This gem provides you with easy Ruby interface for pechkin-mail.ru mail service.
4
6
 
7
+ Documentation available at http://www.rubydoc.info/github/crsde/PechkinRb
8
+
5
9
  ## Installation
6
10
 
7
11
  Add this line to your application's Gemfile:
@@ -25,7 +29,7 @@ Or install it yourself as:
25
29
 
26
30
  ## Contributing
27
31
 
28
- 1. Fork it ( https://github.com/[my-github-username]/pechkinrb/fork )
32
+ 1. Fork it ( https://github.com/crsde/PechkinRb/fork )
29
33
  2. Create your feature branch (`git checkout -b my-new-feature`)
30
34
  3. Commit your changes (`git commit -am 'Add some feature'`)
31
35
  4. Push to the branch (`git push origin my-new-feature`)
@@ -41,6 +41,27 @@ module Pechkin
41
41
  connection.call_method('lists.get_members', params.merge(id_params)).map {|member| Pechkin::Member.new(connection, member)}
42
42
  end
43
43
 
44
+ # Alias to get_members
45
+ #
46
+ alias_method :members, :get_members
47
+
48
+ # Invokes 'lists.add_memner' method
49
+ #
50
+ # @param params [Hash] Params to be passed
51
+ # @return [Pechkin::Member] New member instance
52
+ def add_member
53
+ added = connection.call_method('lists.add_member', params.merge(id_params))
54
+ get_members(added).first
55
+ end
56
+
57
+ # Invokes 'lists.unsubscribe_member' API method
58
+ #
59
+ # @param params [Hash] Params to be passed
60
+ # @return [Fixnum] Count of unsubscribed members
61
+ def unsubscribe_member(params)
62
+ connection.call_method('lists.unsubscribe_member', params.merge(id_params))['unsubscribed']
63
+ end
64
+
44
65
  private
45
66
 
46
67
  def id_params
@@ -47,11 +47,19 @@ module Pechkin
47
47
 
48
48
  # Invokes 'lists.get_lists' API method to retrieve member list
49
49
  #
50
- # @return params [Pechkin::List] List instance, accosiated with member
50
+ # @param params [Pechkin::List] List instance, accosiated with member
51
51
  def list
52
52
  connection.get_list(list_id)
53
53
  end
54
54
 
55
+ # Invokes 'lists.unsubscribe_member' API method
56
+ #
57
+ # @param params [Hash] Params to be passed
58
+ # @return [Fixnum] Count of unsubscribed members
59
+ def unsubscribe_member(params)
60
+ connection.call_method('lists.unsubscribe_member', params.merge(id_params))['unsubscribed']
61
+ end
62
+
55
63
  private
56
64
 
57
65
  def id_params
@@ -30,7 +30,7 @@ module Pechkin
30
30
  # @param method [String] Method name, corresponding API reference https://pechkin-mail.ru/api/
31
31
  # @param params [Hash] Params to be passed
32
32
  def call_method(method, params = {})
33
- response = connection.post '/', {method: method}.merge(credentials).merge(params)
33
+ response = connection.post '/', {method: method}.merge(credentials).merge(params)
34
34
  err_code = response.body["response"]["msg"]["err_code"]
35
35
  unless err_code == 0
36
36
  raise Pechkin::ApiException.new(response.body["response"]["msg"]["text"])
@@ -46,6 +46,7 @@ module Pechkin
46
46
  call_method('lists.get', params).map {|list_raw| Pechkin::List.new(self, list_raw)}
47
47
  end
48
48
 
49
+
49
50
  # Invokes 'lists.get' API method to retrieve single List object
50
51
  #
51
52
  # @param id [Fixnum] List id
@@ -54,6 +55,10 @@ module Pechkin
54
55
  lists(list_id: id)[0]
55
56
  end
56
57
 
58
+ # 'list.get' method alias
59
+ #
60
+ alias_method :get, :lists
61
+
57
62
  # Invokes 'lists.get_member' API method
58
63
  #
59
64
  # @param email [String] Email for search
@@ -62,6 +67,14 @@ module Pechkin
62
67
  call_method('lists.get_member', {email: email}).map {|member| Pechkin::Member.new(connection, member)}
63
68
  end
64
69
 
70
+ # Invokes 'lists.unsubscribe_member' API method
71
+ #
72
+ # @param params [Hash] Params to be passed
73
+ # @return [Fixnum] Count of unsubscribed members
74
+ def unsubscribe_member(params)
75
+ call_method('lists.unsubscribe_member', params)['unsubscribed']
76
+ end
77
+
65
78
  private
66
79
 
67
80
  def credentials
@@ -1,3 +1,3 @@
1
1
  module Pechkinrb
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pechkinrb
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
  - Alexandr Prokopenko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-29 00:00:00.000000000 Z
11
+ date: 2015-04-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler