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
- .add_queries(url, api_key, id_project, queries, id_group = nil) ⇒ Object
- .delete_queries(url, api_key, *ids) ⇒ Object
- .get_project(url, api_key, id_project) ⇒ Object
- .get_projects(url, api_key, id_group = nil) ⇒ Object
- .get_projects_group(url, api_key) ⇒ Object
- .get_queries(url, api_key, id_project, id_group = nil) ⇒ Object
- .get_queries_group(url, api_key, id_project) ⇒ Object
-
.get_report(url, api_key, id_project, date = nil, prev_date = nil, page = nil, per_page = nil) ⇒ Object
name par.
- .get_report_dates(url, api_key, id_project) ⇒ Object
- .get_ses(url, api_key, id_project) ⇒ Object
- .get_visibility(url, api_key, id_project) ⇒ Object
- .init_request(url, api_key) ⇒ Object
- .parse_xml(xml_string) ⇒ Object
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 |