Module: AllPositions

Defined in:
lib/allPositions.rb,
lib/allPositions/version.rb

Constant Summary collapse

URL_ALL_P =
"http://allPositions.ru/api/"
VERSION =
"0.0.3"

Class Method Summary collapse

Class Method Details

.add_queries(url, api_key, id_project, queries, id_group = nil) ⇒ Object



145
146
147
148
149
150
151
152
153
154
155
156
157
158
# File 'lib/allPositions.rb', line 145

def self.add_queries(url,api_key,id_project,queries,id_group=nil)
  init=init_request(url,api_key)
  request=init["request"]
  http=init["http"]
  str_body="<?xml version=\"1.0\" encoding=\"UTF-8\"?><methodCall><methodName>add_queries</methodName><params>
          <param><value><i4>#{id_project}</i4></value></param><param><value><string>#{queries}</string></value></param>"
  if id_group and id_group.class==Fixnum
    str_body+="<param><value><i4>#{id_group}</i4></value></param>"
  end
  str_body+="</params></methodCall>"
  request.body =str_body
  response = http.request(request)
  parse_xml(response.body)
end

.delete_queries(url, api_key, *ids) ⇒ Object



131
132
133
134
135
136
137
138
139
140
141
142
143
# File 'lib/allPositions.rb', line 131

def self.delete_queries(url,api_key,*ids)
  init=init_request(url,api_key)
  request=init["request"]
  http=init["http"]
  str_body="<?xml version=\"1.0\" encoding=\"UTF-8\"?><methodCall><methodName>delete_queries</methodName><params><param><value><array><data>"
  for i in ids
    str_body+="<value><i4>#{i}</i4></value>"
  end
  str_body+="</data></array></value></param></params></methodCall>"
  request.body =str_body
  response = http.request(request)
  parse_xml(response.body)
end

.get_project(url, api_key, id_project) ⇒ Object



26
27
28
29
30
31
32
33
34
35
# File 'lib/allPositions.rb', line 26

def self.get_project(url,api_key,id_project)
  init=init_request(url,api_key)
  request=init["request"]
  http=init["http"]
  str_body="<?xml version=\"1.0\" encoding=\"UTF-8\"?><methodCall><methodName>get_project</methodName><params>
          <param><value><i4>#{id_project}</i4></value></param></params></methodCall>"
  request.body =str_body
  response = http.request(request)
  parse_xml(response.body)
end

.get_projects(url, api_key, id_group = nil) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/allPositions.rb', line 12

def self.get_projects(url,api_key,id_group=nil)
  init=init_request(url,api_key)
  request=init["request"]
  http=init["http"]
  str_body="<?xml version=\"1.0\" encoding=\"UTF-8\"?><methodCall><methodName>get_projects</methodName><params>"
  if id_group
    str_body+="<param><value><i4>#{id_group}</i4></value></param>"
  end
  str_body+="</params></methodCall>"
  request.body =str_body
  response = http.request(request)
  parse_xml(response.body)
end

.get_projects_group(url, api_key) ⇒ Object



37
38
39
40
41
42
43
44
45
46
# File 'lib/allPositions.rb', line 37

def self.get_projects_group(url,api_key)
  init=init_request(url,api_key)
  request=init["request"]
  http=init["http"]
  str_body="<?xml version=\"1.0\" encoding=\"UTF-8\"?><methodCall><methodName>get_projects_group</methodName>
          <params></params></methodCall>"
  request.body =str_body
  response = http.request(request)
  parse_xml(response.body)
end

.get_queries(url, api_key, id_project, id_group = nil) ⇒ Object



48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/allPositions.rb', line 48

def self.get_queries(url,api_key,id_project,id_group=nil)
  init=init_request(url,api_key)
  request=init["request"]
  http=init["http"]
  str_body="<?xml version=\"1.0\" encoding=\"UTF-8\"?><methodCall><methodName>get_queries</methodName><params>
          <param><value><i4>#{id_project}</i4></value></param>"
  if id_group
    str_body+="<param><value><i4>#{id_group}</i4></value></param>"
  end
  str_body+="</params></methodCall>"
  request.body =str_body
  response = http.request(request)
  parse_xml(response.body)
end

.get_queries_group(url, api_key, id_project) ⇒ Object



63
64
65
66
67
68
69
70
71
72
# File 'lib/allPositions.rb', line 63

def self.get_queries_group(url,api_key,id_project)
  init=init_request(url,api_key)
  request=init["request"]
  http=init["http"]
  str_body="<?xml version=\"1.0\" encoding=\"UTF-8\"?><methodCall><methodName>get_queries_group</methodName><params>
          <param><value><i4>#{id_project}</i4></value></param></params></methodCall>"
  request.body =str_body
  response = http.request(request)
  parse_xml(response.body)
end

.get_report(url, api_key, id_project, date = nil, prev_date = nil, page = nil, per_page = nil) ⇒ Object

name par



74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# File 'lib/allPositions.rb', line 74

def self.get_report(url,api_key,id_project,date=nil,prev_date=nil,page=nil,per_page=nil)#name par
  init=init_request(url,api_key)
  request=init["request"]
  http=init["http"]
  str_body="<?xml version=\"1.0\" encoding=\"UTF-8\"?><methodCall><methodName>get_report</methodName><params>
          <param><value><i4>#{id_project}</i4></value></param>"
  if date and date.class==String
    str_body+="<param><value><string>#{date}</string></value></param>"
  end
  if prev_date and date.class==String
    str_body+="<param><value><string>#{prev_date}</string></value></param>"
  end
  if page and page.class==Fixnum
    str_body+="<param><value><i4>#{page}</i4></value></param>"
  end
  if per_page and per_page.class==Fixnum
    str_body+="<param><value><i4>#{per_page}</i4></value></param>"
  end
  str_body+="</params></methodCall>"
  request.body =str_body
  response = http.request(request)
  parse_xml(response.body)
end

.get_report_dates(url, api_key, id_project) ⇒ Object



98
99
100
101
102
103
104
105
106
107
# File 'lib/allPositions.rb', line 98

def  self.get_report_dates(url,api_key,id_project)
  init=init_request(url,api_key)
  request=init["request"]
  http=init["http"]
  str_body="<?xml version=\"1.0\" encoding=\"UTF-8\"?><methodCall><methodName>get_report_dates</methodName><params>
          <param><value><i4>#{id_project}</i4></value></param></params></methodCall>"
  request.body =str_body
  response = http.request(request)
  parse_xml(response.body)
end

.get_ses(url, api_key, id_project) ⇒ Object



109
110
111
112
113
114
115
116
117
118
# File 'lib/allPositions.rb', line 109

def  self.get_ses(url,api_key,id_project)
  init=init_request(url,api_key)
  request=init["request"]
  http=init["http"]
  str_body="<?xml version=\"1.0\" encoding=\"UTF-8\"?><methodCall><methodName>get_ses</methodName><params>
          <param><value><i4>#{id_project}</i4></value></param></params></methodCall>"
  request.body =str_body
  response = http.request(request)
  parse_xml(response.body)
end

.get_visibility(url, api_key, id_project) ⇒ Object



120
121
122
123
124
125
126
127
128
129
# File 'lib/allPositions.rb', line 120

def  self.get_visibility(url,api_key,id_project)
  init=init_request(url,api_key)
  request=init["request"]
  http=init["http"]
  str_body="<?xml version=\"1.0\" encoding=\"UTF-8\"?><methodCall><methodName>get_visibility</methodName><params>
          <param><value><i4>#{id_project}</i4></value></param></params></methodCall>"
  request.body =str_body
  response = http.request(request)
  parse_xml(response.body)
end

.init_request(url, api_key) ⇒ Object



167
168
169
170
171
172
173
174
175
176
177
# File 'lib/allPositions.rb', line 167

def self.init_request(url,api_key)
  uri = URI.parse("#{url}")
  http = Net::HTTP.new(uri.host, uri.port)
  request = Net::HTTP::Post.new(uri.path)
  request.add_field('Cookie', "api_key=#{api_key}")
  request.add_field('Content-Type', 'text/xml')
  result={}
  result["http"]=http
  result["request"]=request
  result
end

.parse_xml(xml_string) ⇒ Object



161
162
163
164
165
# File 'lib/allPositions.rb', line 161

def self.parse_xml(xml_string)
  parser = XMLRPC::XMLParser::REXMLStreamParser::StreamListener.new
  parser.parse(xml_string)
  parser.instance_variable_get('@value')
end