Module: Kinja::Tag

Included in:
Client
Defined in:
lib/kinja/tag.rb

Instance Method Summary collapse

Instance Method Details

#all_in_tag(name, blog = nil) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/kinja/tag.rb', line 16

def all_in_tag(name, blog=nil)
  posts = []
  feed = get_posts_in_tag(name)
  posts.push feed["data"]["items"]
  next_one = feed["data"]["pagination"]["next"]["startTime"]
  loop do
    if blog.nil?
      feed = get_posts_in_tag(
        name,
        "?startTime=#{next_one}"
      )
      puts next_one
    else
      feed = get_posts_in_tag_for_site(name, blog)
    end
    if feed["meta"]["success"]
      posts.push feed["data"]["items"]
    else
      feed
    end
    # require 'pry'; binding.pry
    break if feed["data"]["pagination"]["next"].nil?
    next_one = feed["data"]["pagination"]["next"]["startTime"]
  end
  posts.flatten
end

#get_posts_in_tag(name, params = "") ⇒ Object



43
44
45
# File 'lib/kinja/tag.rb', line 43

def get_posts_in_tag(name, params="")
  HTTParty.get "#{tag_path(name)}#{params}"
end

#get_posts_in_tag_for_site(name, blog_name_or_id) ⇒ Object



51
52
53
54
55
56
57
# File 'lib/kinja/tag.rb', line 51

def get_posts_in_tag_for_site(name, blog_name_or_id)
  if blog_name_or_id.is_a? String
    get_tag_feed_for_site name, get_blog_id(blog_name_or_id)
  else
    get_tag_feed_for_site(name, blog_name_or_id)
  end
end

#get_tag_feed_for_site(name, blog_id, params = "") ⇒ Object



47
48
49
# File 'lib/kinja/tag.rb', line 47

def get_tag_feed_for_site(name, blog_id, params="")
  HTTParty.get tag_and_blog_path(name, blog_id)
end

#tag(name, blog = nil) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
# File 'lib/kinja/tag.rb', line 3

def tag(name, blog=nil)
  if blog.nil?
    feed = get_posts_in_tag(name)
  else
    feed = get_posts_in_tag_for_site(name, blog)
  end
  if feed["meta"]["success"]
    feed["data"]["items"]
  else
    feed
  end
end