fake_sns 0.0.5 → 0.1.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f7ee25d3164e85ff5a4fcf4ad5002293fc61137f
4
- data.tar.gz: 28a8dc1d79018fb669e4a935f5079ef8a5e1b7b6
3
+ metadata.gz: ffde4a95debaff16dc02f2c053f8be69b021c9a7
4
+ data.tar.gz: 36d70df4346c8dbeacc361bc7e6dc06f951893e4
5
5
  SHA512:
6
- metadata.gz: 0481806ac3b03bc6b88d4a52998202c44152c27e2b1e1bbedda12c0a185d43ea343c2c445465445699bfd89d5536a01e36169c94a999ffb705dfc1e2d20855d3
7
- data.tar.gz: eee801999500fc8576f124a9a984e1fe029a86e47d96d4bfcc85aceba3b57026386f89fd37eede10591ac5e124542bf8ef68672b02f99295c85c9e45327196da
6
+ metadata.gz: 953fe54060d0729600f835530c839c4a1b01351c44786b11492aa7880e1f474a0d66157ccd0f916539889df7e74cf547bbd05418d8136d46c171b6c3e46ce865
7
+ data.tar.gz: 89858490229ba262f4803cb9a6e63c04de9c854f5f6b4d93a4f106e2a8b1de8568906ff550b4b615f18b34d707c1c5c11c8dbc5e4998ae4c3cdd227072dda5cb
@@ -21,13 +21,13 @@ Gem::Specification.new do |spec|
21
21
  spec.add_dependency "virtus", "~> 1.0"
22
22
  spec.add_dependency "verbose_hash_fetch"
23
23
  spec.add_dependency "faraday", "~> 0.8"
24
- spec.add_dependency 'aws-sdk', '~> 1.30'
24
+ spec.add_dependency 'aws-sdk', '~> 2.0'
25
25
 
26
26
  spec.add_development_dependency "bundler"
27
27
  spec.add_development_dependency "rake"
28
28
  spec.add_development_dependency "rspec"
29
29
  spec.add_development_dependency "pry"
30
- spec.add_development_dependency "fake_sqs", "~> 0.0.9"
30
+ spec.add_development_dependency "fake_sqs", "~> 0.2"
31
31
  spec.add_development_dependency "json_expressions"
32
32
 
33
33
  end
@@ -34,9 +34,14 @@ module FakeSNS
34
34
 
35
35
  def sqs
36
36
  queue_name = endpoint.split(":").last
37
- sqs = AWS::SQS.new(config["aws_config"] || {})
38
- queue = sqs.queues.named(queue_name)
39
- queue.send_message(message_contents)
37
+ sqs = Aws::SQS::Client.new(
38
+ region: config.fetch("region"),
39
+ credentials: Aws::Credentials.new(config.fetch("access_key_id"), config.fetch("secret_access_key")),
40
+ ).tap { |client|
41
+ client.config.endpoint = URI(config.fetch("sqs_endpoint"))
42
+ }
43
+ queue_url = sqs.get_queue_url(queue_name: queue_name).queue_url
44
+ sqs.send_message(queue_url: queue_url, message_body: message_contents)
40
45
  end
41
46
 
42
47
  def http
@@ -8,6 +8,8 @@ module FakeSNS
8
8
  json = Class.new(Virtus::Attribute) do
9
9
  def coerce(value)
10
10
  value.is_a?(::Hash) ? value : JSON.parse(value)
11
+ rescue
12
+ value
11
13
  end
12
14
  end
13
15
 
@@ -51,17 +51,23 @@ module FakeSNS
51
51
  end
52
52
 
53
53
  post "/drain" do
54
- database.transaction do
55
- config = JSON.parse(request.body.read)
56
- database.each_deliverable_message do |subscription, message|
57
- DeliverMessage.call(subscription: subscription, message: message, request: request, config: config)
54
+ config = JSON.parse(request.body.read.to_s)
55
+ begin
56
+ database.transaction do
57
+ database.each_deliverable_message do |subscription, message|
58
+ DeliverMessage.call(subscription: subscription, message: message, request: request, config: config)
59
+ end
58
60
  end
61
+ rescue => e
62
+ status 500
63
+ "#{e.class}: #{e}\n\n#{e.backtrace.join("\n")}"
64
+ else
65
+ 200
59
66
  end
60
- 200
61
67
  end
62
68
 
63
69
  post "/drain/:message_id" do |message_id|
64
- config = JSON.parse(request.body.read)
70
+ config = JSON.parse(request.body.read.to_s)
65
71
  database.transaction do
66
72
  database.each_deliverable_message do |subscription, message|
67
73
  if message.id == message_id
@@ -1,3 +1,4 @@
1
+ require "yaml"
1
2
  require "faraday"
2
3
  require "timeout"
3
4
 
@@ -62,7 +63,11 @@ module FakeSNS
62
63
 
63
64
  def drain(message_id = nil, options = {})
64
65
  path = message_id ? "/drain/#{message_id}" : "/drain"
65
- default = { aws_config: AWS.config.send(:supplied) }
66
+ default = {
67
+ region: Aws.config[:region],
68
+ access_key_id: Aws.config[:credentials].access_key_id,
69
+ secret_access_key: Aws.config[:credentials].secret_access_key,
70
+ }
66
71
  body = default.merge(options).to_json
67
72
  result = connection.post(path, body)
68
73
  if result.success?
@@ -83,7 +88,7 @@ module FakeSNS
83
88
  end
84
89
 
85
90
  def option(key)
86
- options.fetch(key) { AWS.config.public_send(key) }
91
+ options.fetch(key)
87
92
  end
88
93
 
89
94
 
@@ -17,7 +17,6 @@ module FakeSNS
17
17
  end
18
18
 
19
19
  def each(*args, &block)
20
- p @store.to_yaml
21
20
  collection.map { |item| Topic.new(item) }.each(*args, &block)
22
21
  end
23
22
 
@@ -1,3 +1,3 @@
1
1
  module FakeSNS
2
- VERSION = "0.0.5"
2
+ VERSION = "0.1.0"
3
3
  end
@@ -4,26 +4,35 @@ require 'json_expressions/rspec'
4
4
  RSpec.describe "Drain messages", :sqs do
5
5
 
6
6
  it "works for SQS" do
7
- topic = sns.topics.create("my-topic")
8
- queue = sqs.queues.create("my-queue")
9
- topic.subscribe(queue)
7
+ queue_url = sqs.create_queue(queue_name: "my-queue").queue_url
8
+ queue_arn = sqs.get_queue_attributes(queue_url: queue_url, attribute_names: ["QueueArn"]).attributes.fetch("QueueArn")
9
+ topic_arn = sns.create_topic(name: "my-topic").topic_arn
10
10
 
11
- topic.publish("X")
11
+ _subscription_arn = sns.subscribe(topic_arn: topic_arn, protocol: "sqs", endpoint: queue_arn).subscription_arn
12
12
 
13
- $fake_sns.drain
14
- expect(queue.visible_messages).to eq 1
13
+ sns.publish(topic_arn: topic_arn, message: { sqs: "hallo" }.to_json)
14
+
15
+ $fake_sns.drain(nil, sqs_endpoint: sqs.config.endpoint.to_s)
16
+
17
+ attributes = sqs.get_queue_attributes(queue_url: queue_url, attribute_names: ["ApproximateNumberOfMessages"]).attributes
18
+ expect(attributes.fetch("ApproximateNumberOfMessages")).to eq "1"
15
19
  end
16
20
 
17
21
  it "works for SQS with a single message" do
18
- topic = sns.topics.create("my-topic")
19
- queue = sqs.queues.create("my-queue")
20
- topic.subscribe(queue)
21
22
 
22
- message_id = topic.publish("X")
23
- topic.publish("Y")
23
+ queue_url = sqs.create_queue(queue_name: "my-queue").queue_url
24
+ queue_arn = sqs.get_queue_attributes(queue_url: queue_url, attribute_names: ["QueueArn"]).attributes.fetch("QueueArn")
25
+ topic_arn = sns.create_topic(name: "my-topic").topic_arn
26
+
27
+ _subscription_arn = sns.subscribe(topic_arn: topic_arn, protocol: "sqs", endpoint: queue_arn).subscription_arn
24
28
 
25
- $fake_sns.drain(message_id)
26
- expect(queue.visible_messages).to eq 1
29
+ message_id = sns.publish(topic_arn: topic_arn, message: { sqs: "hallo" }.to_json).message_id
30
+ sns.publish(topic_arn: topic_arn, message: { sqs: "world" }.to_json)
31
+
32
+ $fake_sns.drain(message_id, sqs_endpoint: sqs.config.endpoint.to_s)
33
+
34
+ attributes = sqs.get_queue_attributes(queue_url: queue_url, attribute_names: ["ApproximateNumberOfMessages"]).attributes
35
+ expect(attributes.fetch("ApproximateNumberOfMessages")).to eq "1"
27
36
  end
28
37
 
29
38
  it "works for HTTP" do
@@ -43,28 +52,29 @@ RSpec.describe "Drain messages", :sqs do
43
52
  target_app.run!
44
53
  end
45
54
 
46
- topic = sns.topics.create("my-topic")
47
- subscription = topic.subscribe("http://localhost:5051/endpoint")
55
+ topic_arn = sns.create_topic(name: "my-topic").topic_arn
56
+
57
+ subscription_arn = sns.subscribe(topic_arn: topic_arn, protocol: "http", endpoint: "http://localhost:5051/endpoint").subscription_arn
48
58
 
49
- message_id = topic.publish("X")
59
+ message_id = sns.publish(topic_arn: topic_arn, message: { default: "hallo" }.to_json).message_id
50
60
 
51
61
  wait_for { Faraday.new("http://localhost:5051").get("/").success? rescue false }
52
62
 
53
- $fake_sns.drain
63
+ $fake_sns.drain(nil, sqs_endpoint: sqs.config.endpoint.to_s)
54
64
 
55
65
  app_runner.kill
56
66
 
57
67
  expect(requests.size).to eq 1
58
68
  expect(requests.first).to match_json_expression(
59
69
  "Type" => "Notification",
60
- "Message" => "X",
70
+ "Message" => "hallo",
61
71
  "MessageId" => message_id,
62
72
  "Signature" => "Fake",
63
73
  "SignatureVersion" => "1",
64
74
  "SigningCertURL" => "https://sns.us-east-1.amazonaws.com/SimpleNotificationService-f3ecfb7224c7233fe7bb5f59f96de52f.pem",
65
75
  "Subject" => nil,
66
76
  "Timestamp" => anything,
67
- "TopicArn" => topic.arn,
77
+ "TopicArn" => topic_arn,
68
78
  "Type" => "Notification",
69
79
  "UnsubscribeURL" => "",
70
80
  )
@@ -73,8 +83,8 @@ RSpec.describe "Drain messages", :sqs do
73
83
  expect(_headers.first).to match_json_expression({
74
84
  "HTTP_X_AMZ_SNS_MESSAGE_TYPE" => "Notification",
75
85
  "HTTP_X_AMZ_SNS_MESSAGE_ID" => message_id,
76
- "HTTP_X_AMZ_SNS_TOPIC_ARN" => topic.arn,
77
- "HTTP_X_AMZ_SNS_SUBSCRIPTION_ARN" => subscription.arn,
86
+ "HTTP_X_AMZ_SNS_TOPIC_ARN" => topic_arn,
87
+ "HTTP_X_AMZ_SNS_SUBSCRIPTION_ARN" => subscription_arn,
78
88
  }.ignore_extra_keys!)
79
89
 
80
90
  end
@@ -1,9 +1,9 @@
1
1
  RSpec.describe "Publishing" do
2
2
 
3
- let(:existing_topic) { sns.topics.create("my-topic") }
3
+ let(:existing_topic) { sns.create_topic(name: "my-topic").topic_arn }
4
4
 
5
5
  it "remembers published messages" do
6
- message_id = existing_topic.publish("hallo")
6
+ message_id = sns.publish(topic_arn: existing_topic, message: "hallo").message_id
7
7
  messages = $fake_sns.data.fetch("messages")
8
8
  expect(messages.size).to eq 1
9
9
  message = messages.first
@@ -11,16 +11,16 @@ RSpec.describe "Publishing" do
11
11
  end
12
12
 
13
13
  it "needs an existing topic" do
14
- topic = sns.topics["arn:aws:sns:us-east-1:5068edfd0f7ee3ea9ccc1e73cbb17569:not-exist"]
14
+ non_existing = "arn:aws:sns:us-east-1:5068edfd0f7ee3ea9ccc1e73cbb17569:not-exist"
15
15
  expect {
16
- topic.publish("hallo")
17
- }.to raise_error AWS::SNS::Errors::InvalidParameterValue
16
+ sns.publish(topic_arn: non_existing, message: "hallo")
17
+ }.to raise_error Aws::SNS::Errors::InvalidParameterValue
18
18
  end
19
19
 
20
20
  it "doesn't allow messages that are too big" do
21
21
  expect {
22
- existing_topic.publish("A" * 262145)
23
- }.to raise_error AWS::SNS::Errors::InvalidParameterValue
22
+ sns.publish(topic_arn: existing_topic, message: "A" * 262145)
23
+ }.to raise_error Aws::SNS::Errors::InvalidParameterValue
24
24
  end
25
25
 
26
26
  end
@@ -1,12 +1,12 @@
1
1
  RSpec.describe "Replacing the data" do
2
2
 
3
3
  it "works by submitting new YAML" do
4
- topic = sns.topics.create("my-topic")
4
+ topic_arn = sns.create_topic(name: "my-topic").topic_arn
5
5
  previous_data = $fake_sns.data.to_yaml
6
6
  apply_change = lambda { |data| data.gsub("my-topic", "your-topic") }
7
7
  new_data = apply_change.call(previous_data)
8
8
  $fake_sns.connection.put("/", new_data)
9
- expect(sns.topics.map(&:arn)).to eq [apply_change.call(topic.arn)]
9
+ expect(sns.list_topics.topics.map(&:topic_arn)).to eq [apply_change.call(topic_arn)]
10
10
  end
11
11
 
12
12
  end
@@ -1,42 +1,49 @@
1
1
  RSpec.describe "Subscribing", :sqs do
2
2
 
3
3
  it "lists subscriptions globally" do
4
- topic = sns.topics.create("my-topic")
5
- subscription = topic.subscribe("http://example.com")
6
- expect(sns.subscriptions.map(&:topic_arn)).to eq [topic.arn]
7
- expect(sns.subscriptions.map(&:arn)).to eq [subscription.arn]
4
+ topic_arn = sns.create_topic(name: "my-topic").topic_arn
5
+ subscription_arn = sns.subscribe(topic_arn: topic_arn, protocol: "http", endpoint: "http://example.com").subscription_arn
8
6
 
9
- subscription.raw_message_delivery = true
7
+ subscriptions = sns.list_subscriptions.subscriptions
8
+ expect(subscriptions.map(&:topic_arn)).to eq [topic_arn]
9
+ expect(subscriptions.map(&:subscription_arn)).to eq [subscription_arn]
10
10
  end
11
11
 
12
12
  it "filters by topic" do
13
- topic = sns.topics.create("my-topic")
14
- other_topic = sns.topics.create("my-topic-2")
15
- subscription = topic.subscribe("http://example.com")
16
- expect(topic.subscriptions.map(&:topic_arn)).to eq [topic.arn]
17
- expect(topic.subscriptions.map(&:arn)).to eq [subscription.arn]
18
- expect(other_topic.subscriptions.map(&:arn)).to eq []
13
+ topic_arn = sns.create_topic(name: "my-topic").topic_arn
14
+ _other_topic_arn = sns.create_topic(name: "my-topic-2").topic_arn
15
+
16
+ subscription_arn = sns.subscribe(topic_arn: topic_arn, protocol: "http", endpoint: "http://example.com").subscription_arn
17
+ subscriptions = sns.list_subscriptions.subscriptions
18
+ expect(subscriptions.map(&:topic_arn)).to eq [topic_arn]
19
+ expect(subscriptions.map(&:subscription_arn)).to eq [subscription_arn]
19
20
  end
20
21
 
21
22
  it "needs an existing topic" do
22
- topic = sns.topics["arn:aws:sns:us-east-1:5068edfd0f7ee3ea9ccc1e73cbb17569:not-exist"]
23
+ topic_arn = "arn:aws:sns:us-east-1:5068edfd0f7ee3ea9ccc1e73cbb17569:not-exist"
23
24
  expect {
24
- topic.subscribe("http://example.com")
25
- }.to raise_error AWS::SNS::Errors::InvalidParameterValue
25
+ sns.subscribe(topic_arn: topic_arn, protocol: "http", endpoint: "http://example.com")
26
+ }.to raise_error Aws::SNS::Errors::InvalidParameterValue
26
27
  end
27
28
 
28
29
  it "can subscribe to a SQS queue" do
29
- queue = AWS::SQS.new.queues.create("my-queue")
30
- topic = sns.topics.create("my-topic")
31
- topic.subscribe(queue)
30
+ queue_url = sqs.create_queue(queue_name: "my-queue").queue_url
31
+ queue_arn = sqs.get_queue_attributes(queue_url: queue_url, attribute_names: ["QueueArn"]).attributes.fetch("QueueArn")
32
+ topic_arn = sns.create_topic(name: "my-topic").topic_arn
33
+ sns.subscribe(topic_arn: topic_arn, protocol: "sqs", endpoint: queue_arn)
32
34
  end
33
35
 
34
36
  it "won't subscribe twice to the same endpoint" do
35
- queue = AWS::SQS.new.queues.create("my-queue")
36
- topic = sns.topics.create("my-topic")
37
- topic.subscribe(queue)
38
- topic.subscribe(queue)
39
- expect(sns.subscriptions.to_a.size).to eq 1
37
+ queue_url = sqs.create_queue(queue_name: "my-queue").queue_url
38
+ queue_arn = sqs.get_queue_attributes(queue_url: queue_url, attribute_names: ["QueueArn"]).attributes.fetch("QueueArn")
39
+ topic_arn = sns.create_topic(name: "my-topic").topic_arn
40
+
41
+ 2.times do
42
+ sns.subscribe(topic_arn: topic_arn, protocol: "sqs", endpoint: queue_arn)
43
+ end
44
+
45
+ subscriptions = sns.list_subscriptions.subscriptions
46
+ expect(subscriptions.size).to eq 1
40
47
  end
41
48
 
42
49
  end
@@ -2,41 +2,41 @@ RSpec.describe "Topics" do
2
2
 
3
3
  it "rejects invalid characters in topic names" do
4
4
  expect {
5
- sns.topics.create("dot.dot")
6
- }.to raise_error(AWS::SNS::Errors::InvalidParameterValue)
5
+ sns.create_topic(name: "dot.dot")
6
+ }.to raise_error(Aws::SNS::Errors::InvalidParameterValue)
7
7
  end
8
8
 
9
9
  it "creates a new topic" do
10
- topic = sns.topics.create("my-topic")
11
- expect(topic.arn).to match(/arn:aws:sns:us-east-1:(\w+):my-topic/)
10
+ topic_arn = sns.create_topic(name: "my-topic").topic_arn
11
+ expect(topic_arn).to match(/arn:aws:sns:us-east-1:(\w+):my-topic/)
12
12
 
13
- new_topic = sns.topics.create("other-topic")
14
- expect(new_topic.arn).not_to eq topic.arn
13
+ new_topic_arn = sns.create_topic(name: "other-topic").topic_arn
14
+ expect(new_topic_arn).not_to eq topic_arn
15
15
 
16
- existing_topic = sns.topics.create("my-topic")
17
- expect(existing_topic.arn).to eq topic.arn
16
+ existing_topic_arn = sns.create_topic(name: "my-topic").topic_arn
17
+ expect(existing_topic_arn).to eq topic_arn
18
18
  end
19
19
 
20
20
  it "lists topics" do
21
- topic1 = sns.topics.create("my-topic-1")
22
- topic2 = sns.topics.create("my-topic-2")
21
+ topic1_arn = sns.create_topic(name: "my-topic-1").topic_arn
22
+ topic2_arn = sns.create_topic(name: "my-topic-2").topic_arn
23
23
 
24
- expect(sns.topics.map(&:arn)).to match_array [topic1.arn, topic2.arn]
24
+ expect(sns.list_topics.topics.map(&:topic_arn)).to match_array [topic1_arn, topic2_arn]
25
25
  end
26
26
 
27
27
  it "deletes topics" do
28
- topic = sns.topics.create("my-topic")
29
- expect(sns.topics.map(&:arn)).to eq [topic.arn]
30
- sns.topics[topic.arn].delete
31
- expect(sns.topics.map(&:arn)).to eq []
28
+ topic_arn = sns.create_topic(name: "my-topic").topic_arn
29
+ expect(sns.list_topics.topics.map(&:topic_arn)).to eq [topic_arn]
30
+ sns.delete_topic(topic_arn: topic_arn)
31
+ expect(sns.list_topics.topics.map(&:topic_arn)).to eq []
32
32
  end
33
33
 
34
34
  it "can set and read attributes" do
35
- topic = sns.topics.create("my-topic")
36
- expect(topic.display_name).to eq "my-topic"
37
- topic.display_name = "the display name"
38
- expect(topic.display_name).to eq "the display name"
39
- expect(topic.name).to eq "my-topic"
35
+ topic_arn = sns.create_topic(name: "my-topic").topic_arn
36
+ expect(sns.get_topic_attributes(topic_arn: topic_arn).attributes["DisplayName"]).to eq nil
37
+
38
+ sns.set_topic_attributes(topic_arn: topic_arn, attribute_name: "DisplayName", attribute_value: "the display name")
39
+ expect(sns.get_topic_attributes(topic_arn: topic_arn).attributes["DisplayName"]).to eq "the display name"
40
40
  end
41
41
 
42
42
  end
@@ -10,30 +10,47 @@ require "fake_sns/test_integration"
10
10
  require "fake_sqs/test_integration"
11
11
 
12
12
 
13
- AWS.config(
14
- use_ssl: false,
15
- sqs_endpoint: "localhost",
16
- sqs_port: 4568,
17
- sns_endpoint: "localhost",
18
- sns_port: 9293,
19
- access_key_id: "fake access key",
20
- secret_access_key: "fake secret key",
13
+ Aws.config.update(
14
+ region: "us-east-1",
15
+ credentials: Aws::Credentials.new("fake", "fake"),
21
16
  )
17
+ # Aws.config(
18
+ # use_ssl: false,
19
+ # sqs_endpoint: "localhost",
20
+ # sqs_port: 4568,
21
+ # sns_endpoint: "localhost",
22
+ # sns_port: 9293,
23
+ # access_key_id: "fake access key",
24
+ # secret_access_key: "fake secret key",
25
+ # )
22
26
 
23
27
  db = ENV["SNS_DATABASE"]
24
28
  db = ":memory:" if ENV["SNS_DATABASE"].to_s == ""
25
29
 
26
30
  puts "Running tests with database stored in #{db}"
27
31
 
28
- $fake_sns = FakeSNS::TestIntegration.new(database: db)
29
- $fake_sqs = FakeSQS::TestIntegration.new(database: ":memory:")
32
+ $fake_sns = FakeSNS::TestIntegration.new(
33
+ database: db,
34
+ sns_endpoint: "localhost",
35
+ sns_port: 9293,
36
+ )
37
+
38
+ $fake_sqs = FakeSQS::TestIntegration.new(
39
+ database: ":memory:",
40
+ sqs_endpoint: "localhost",
41
+ sqs_port: 4568,
42
+ )
30
43
 
31
44
  module SpecHelper
32
45
  def sns
33
- AWS::SNS.new
46
+ Aws::SNS::Client.new.tap { |client|
47
+ client.config.endpoint = URI("http://localhost:9293")
48
+ }
34
49
  end
35
50
  def sqs
36
- AWS::SQS.new
51
+ Aws::SQS::Client.new.tap { |client|
52
+ client.config.endpoint = URI("http://localhost:4568")
53
+ }
37
54
  end
38
55
  end
39
56
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fake_sns
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - iain
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-24 00:00:00.000000000 Z
11
+ date: 2015-05-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sinatra
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '1.30'
75
+ version: '2.0'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '1.30'
82
+ version: '2.0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: bundler
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -142,14 +142,14 @@ dependencies:
142
142
  requirements:
143
143
  - - "~>"
144
144
  - !ruby/object:Gem::Version
145
- version: 0.0.9
145
+ version: '0.2'
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
- version: 0.0.9
152
+ version: '0.2'
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: json_expressions
155
155
  requirement: !ruby/object:Gem::Requirement
@@ -246,7 +246,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
246
246
  version: '0'
247
247
  requirements: []
248
248
  rubyforge_project:
249
- rubygems_version: 2.2.2
249
+ rubygems_version: 2.4.5
250
250
  signing_key:
251
251
  specification_version: 4
252
252
  summary: Small Fake version of SNS