da_face 0.0.1 → 0.0.2

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: c2cc7da25ff983a44979fc89589b3ba941ec8fe8
4
- data.tar.gz: 027c7b27941c2022d1a2e3d1de208a5f82ded031
3
+ metadata.gz: 4fd1da0946492f15183e9eeb679d72952ed6f275
4
+ data.tar.gz: 94128e1c3a3f8043b765116f3817b8689356ffc9
5
5
  SHA512:
6
- metadata.gz: add136c3162345f1c338d70943513d6fa505abbaa2c139bc7bb64bb7e31c101df625baf93a408c84ee42654f29ba2a646adafe4b6457bb769d4f0a084561b068
7
- data.tar.gz: 1a18b8987549558d183c855ed4efb8ad15102a747f8a7e3293d59b70e4efffaebf7f3c711b84c14780dd141ddd843528a40dac9a2792af0d93f6d1919ecc2730
6
+ metadata.gz: 93a718f1ca33395ac395f0c072c45eb113811a058f46e78924e0505ffc14ce5b7096c063c36cf7862e4b0a06201bd278b3869fd22d7f560d5ec9111994a30b5e
7
+ data.tar.gz: e751bd90a27a94a987d42d5b44619017b976fb8fc35b36f6a9c52d5af8dc97cca10ba0b2c2262435a7ca08e3909bc8ef9865674b048f3fd94777eaa7af64937b
data/.gitignore CHANGED
@@ -17,4 +17,5 @@ tmp/*
17
17
  *.swp
18
18
  *.iml
19
19
  .rvmrc
20
- coverage
20
+ coverage
21
+ pkg
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- da_face (0.0.1)
4
+ da_face (0.0.2)
5
5
  excon
6
6
  json
7
7
 
@@ -5,9 +5,10 @@ module DaFace
5
5
  TWITTER_DELETE_NOTIFICATION = :delete_notification
6
6
  TWITTER_USER_NOTIFICATION = :user_notification
7
7
 
8
- attr_reader :interaction, :demographic, :links, :twitter, :salience, :language, :kind
8
+ attr_reader :interaction, :demographic, :links, :twitter, :salience, :language, :kind, :raw
9
9
 
10
- def initialize data={}
10
+ def initialize data={}, raw_data={}
11
+ @raw = raw_data
11
12
  if data[:deleted]
12
13
  @twitter = DaFace::Datasift::TwitterDeleteNotification.new(data)
13
14
  else
@@ -4,12 +4,13 @@ module DaFace
4
4
  include DaFace::Utilities
5
5
 
6
6
  def build_object data
7
- DaFace::Datasift::DaObject.new data
7
+ symbolized_data = symbolize_keys(data.keys, data)
8
+ DaFace::Datasift::DaObject.new symbolized_data, data
8
9
  end
9
10
 
10
11
  def build_objects data
11
12
  objects = []
12
- data[:interactions].each do |object_data|
13
+ data['interactions'].each do |object_data|
13
14
  objects << build_object(object_data)
14
15
  end
15
16
 
@@ -20,15 +21,14 @@ module DaFace
20
21
  raise DaFace::Datasift::MissingJson unless json
21
22
 
22
23
  data = JSON.parse(json)
23
- symbolized_data = symbolize_keys(data.keys, data)
24
- return build_objects(symbolized_data)
24
+ return build_objects(data)
25
25
  end
26
26
 
27
27
  def parse_from_json json=nil
28
28
  raise DaFace::Datasift::MissingJson unless json
29
+
29
30
  data = JSON.parse(json)
30
- symbolized_data = symbolize_keys(data.keys, data)
31
- return build_object(symbolized_data)
31
+ return build_object(data)
32
32
  end
33
33
  end
34
34
  end
@@ -3,7 +3,7 @@ module DaFace
3
3
  class Twitter
4
4
  include DaFace::Utilities
5
5
 
6
- attr_accessor :retweet, :retweeted, :tweet, :status
6
+ attr_reader :retweet, :retweeted, :tweet, :status
7
7
 
8
8
  def self.new data
9
9
  if data[:status]
@@ -30,12 +30,12 @@ module DaFace
30
30
 
31
31
  private
32
32
  def extract_retweet_info data
33
- data[:retweet].merge({:text => data[:retweeted][:text]})
33
+ data[:retweet]
34
34
  end
35
35
 
36
36
  def extract_tweet_info data
37
37
  if data[:retweet]
38
- data[:retweeted]
38
+ data[:retweeted].merge({:text => (data[:retweeted][:text] || data[:retweet][:text])})
39
39
  else
40
40
  data
41
41
  end
@@ -1,3 +1,3 @@
1
1
  module DaFace
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -3,13 +3,13 @@ require 'spec_helper'
3
3
  describe DaFace::Datasift::DaObject do
4
4
  before do
5
5
  @parser = DaFace::Datasift::Parser.new
6
- fixture = json_fixture('interactions/simple.json')
7
- @interaction_data = @parser.symbolize_keys(fixture.keys, fixture)
6
+ @fixture = json_fixture('interactions/simple.json')
7
+ @interaction_data = @parser.symbolize_keys(@fixture.keys, @fixture)
8
8
  end
9
9
 
10
10
  describe '#new' do
11
11
  it 'creates a DaObject object' do
12
- obj = DaFace::Datasift::DaObject.new @interaction_data
12
+ obj = DaFace::Datasift::DaObject.new @interaction_data, @fixture
13
13
 
14
14
  expect(obj.class).to eq(DaFace::Datasift::DaObject)
15
15
  end
@@ -21,9 +21,20 @@ describe DaFace::Datasift::DaObject do
21
21
 
22
22
  describe 'attributes' do
23
23
  before do
24
- @da_object = DaFace::Datasift::DaObject.new @interaction_data
24
+ @da_object = DaFace::Datasift::DaObject.new @interaction_data, @fixture
25
25
  end
26
26
 
27
+ describe 'raw' do
28
+ it 'is present' do
29
+ expect(@da_object.raw).not_to eq(nil)
30
+ end
31
+
32
+ it 'has string keys' do
33
+ expect(@da_object.raw.keys.map(&:class).uniq.size).to eq(1)
34
+ expect(@da_object.raw.keys.map(&:class).uniq.first).to eq(String)
35
+ end
36
+ end
37
+
27
38
  describe '#interaction' do
28
39
  it 'is present' do
29
40
  expect(@da_object.interaction).not_to eq(nil)
@@ -44,6 +44,7 @@ describe DaFace::Datasift::Twitter do
44
44
  expect(@twitter.tweet.id).to eq(@data[:retweet][:id].to_i)
45
45
  expect(@twitter.retweeted.id).to eq(@data[:retweeted][:id].to_i)
46
46
  expect(@twitter.retweeted.id).not_to eq(@twitter.tweet.id)
47
+ expect(@twitter.tweet.text).to eq(@twitter.retweeted.text)
47
48
  expect(@twitter.retweet?).to eq(true)
48
49
  end
49
50
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: da_face
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rayko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-10 00:00:00.000000000 Z
11
+ date: 2014-10-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler