email_vision-neopoly 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -45,7 +45,7 @@ begin
45
45
  gem.name = 'email_vision-neopoly'
46
46
  gem.summary = "Ruby SOAP Api Client for EmailVision / CampaignCommander"
47
47
  gem.email = "ps@neopoly.de"
48
- gem.homepage = "http://github.com/neopoly/#{gem.name}"
48
+ gem.homepage = "http://github.com/neopoly/email_vision"
49
49
  gem.authors = ["Michael Grosser", "Peter Suschlik"]
50
50
  gem.add_dependency 'savon'
51
51
  end
data/Readme.md CHANGED
@@ -70,6 +70,10 @@ Message API
70
70
  # find messages by period
71
71
  message_ids = emv.find_all_by_period(2.days.ago, Time.now)
72
72
 
73
+ # find messages by field
74
+ message_ids = emv.find_all_by_field(:encoding, "UTF-8")
75
+ message_ids = emv.find_all_by_field(:name, "test message clone")
76
+
73
77
 
74
78
  Docs
75
79
  ====
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.0
1
+ 0.3.1
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "email_vision-neopoly"
8
- s.version = "0.3.0"
8
+ s.version = "0.3.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Michael Grosser", "Peter Suschlik"]
@@ -29,7 +29,7 @@ Gem::Specification.new do |s|
29
29
  "spec/email_vision_message_spec.rb",
30
30
  "spec/spec_helper.rb"
31
31
  ]
32
- s.homepage = "http://github.com/neopoly/email_vision-neopoly"
32
+ s.homepage = "http://github.com/neopoly/email_vision"
33
33
  s.require_paths = ["lib"]
34
34
  s.rubygems_version = "1.8.17"
35
35
  s.summary = "Ruby SOAP Api Client for EmailVision / CampaignCommander"
@@ -10,6 +10,11 @@ module EmailVision
10
10
  execute(:get_messages_by_period, :date_begin => format_date(from), :date_end => format_date(to)) || []
11
11
  end
12
12
 
13
+ def find_all_by_field(field, value, limit=9999)
14
+ result = execute(:get_email_messages_by_field, :field => field, :value => value, :limit => limit || 1)
15
+ Array(result)
16
+ end
17
+
13
18
  def create(attributes)
14
19
  defaults = { :encoding => "UTF-8" }
15
20
  execute(:create_email_message_by_obj, :message => defaults.merge(attributes))
@@ -43,6 +43,27 @@ describe "EmailVision" do
43
43
  end
44
44
  end
45
45
 
46
+ context "finding messages by field" do
47
+ let(:message) { client.find(findable_id) }
48
+
49
+ it "returns a list id for one return value" do
50
+ client.find_all_by_field(:name, message[:name], 1).should == [ message[:id] ]
51
+ end
52
+
53
+ it "returns a list for multiple ids" do
54
+ got = client.find_all_by_field(:encoding, message[:encoding])
55
+ got.should be_kind_of(Array)
56
+ end
57
+
58
+ it "returns empty list when nothing found" do
59
+ client.find_all_by_field(:name, "not found foo bar").should be_empty
60
+ end
61
+
62
+ it "raises soap fault for invalid field" do
63
+ lambda { client.find_all_by_field(:invalid, message[:name]) }.should raise_error Savon::SOAP::Fault, /Incorrect field/
64
+ end
65
+ end
66
+
46
67
  context "creating message" do
47
68
  let(:attributes) do
48
69
  {
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: email_vision-neopoly
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -14,7 +14,7 @@ date: 2012-05-04 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: savon
17
- requirement: &18651300 !ruby/object:Gem::Requirement
17
+ requirement: &20535600 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: 0.8.2
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *18651300
25
+ version_requirements: *20535600
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: savon
28
- requirement: &18650760 !ruby/object:Gem::Requirement
28
+ requirement: &20535040 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ! '>='
@@ -33,7 +33,7 @@ dependencies:
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *18650760
36
+ version_requirements: *20535040
37
37
  description:
38
38
  email: ps@neopoly.de
39
39
  executables: []
@@ -56,7 +56,7 @@ files:
56
56
  - spec/email_vision_member_spec.rb
57
57
  - spec/email_vision_message_spec.rb
58
58
  - spec/spec_helper.rb
59
- homepage: http://github.com/neopoly/email_vision-neopoly
59
+ homepage: http://github.com/neopoly/email_vision
60
60
  licenses: []
61
61
  post_install_message:
62
62
  rdoc_options: []