anetwork_dynamicad 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/src/Client.rb +139 -0
  3. metadata +47 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 95aedad38afce0ff79b2b11b1ad9ac8e0678c358
4
+ data.tar.gz: c0049c496e91ec6c5480e213801df3909a340046
5
+ SHA512:
6
+ metadata.gz: d12098bdfd282b6f7f8ed224fb9950e848a93228cf80417a7179e3239c062cfeb2faee3f0276fc73a53f197dbe95a8d3ab4f38fa29e82f3fdb565ff6af481680
7
+ data.tar.gz: e9b51a18506e44ae57e4ca0eb76a8a6d1199cea3ad3d6fa094939317b037dd802078e55360b3c2914348314ea62f75ef3f046f05648d642d9c5b4d7274a00a55
data/src/Client.rb ADDED
@@ -0,0 +1,139 @@
1
+ module AnetworkDynamicAd
2
+
3
+ class Client
4
+
5
+ # setter and getter
6
+ attr_accessor :url , :toke , :api_url , :request
7
+
8
+ ##
9
+ # Set token
10
+ #
11
+ # @author Alireza Josheghani <a.josheghani@anetwork.ir>
12
+ # @since 24 Nov 2016
13
+ # @param [string] token
14
+ # @return [void]
15
+ def initialize(token)
16
+ @api_url = 'http://api.anetwork.ir/dynamicad/'
17
+ @token = token
18
+ end
19
+
20
+ ##
21
+ # Get products
22
+ #
23
+ # @author Alireza Josheghani <a.josheghani@anetwork.ir>
24
+ # @since 24 Nov 2016
25
+ # @return [Object]
26
+ def product
27
+ @url = "#{@api_url}?token=#{@token}"
28
+ self
29
+ end
30
+
31
+ ##
32
+ # Get logos
33
+ #
34
+ # @author Alireza Josheghani <a.josheghani@anetwork.ir>
35
+ # @since 24 Nov 2016
36
+ # @return [Object]
37
+ def logo
38
+ @url = "#{@api_url}logo?token=#{@token}"
39
+ self
40
+ end
41
+
42
+ ##
43
+ # Get by id
44
+ #
45
+ # @author Alireza Josheghani <a.josheghani@anetwork.ir>
46
+ # @since 24 Nov 2016
47
+ # @param [integer] id
48
+ # @return [Object]
49
+ def id(id)
50
+ @url = "#{@url}&id=#{id}"
51
+ self
52
+ end
53
+
54
+ ##
55
+ # Set limit and offset
56
+ #
57
+ # @author Alireza Josheghani <a.josheghani@anetwork.ir>
58
+ # @since 24 Nov 2016
59
+ # @param [integer] limit
60
+ # @param [integer] offset
61
+ def limit(limit = 999,offset = 0)
62
+ @url = "#{@url}&limit=#{limit}&offset=#{offset}"
63
+ self
64
+ end
65
+
66
+ ##
67
+ # Insert records
68
+ #
69
+ # @author Alireza Josheghani <a.josheghani@anetwork.ir>
70
+ # @since 24 Nov 2016
71
+ # @param [Object] params
72
+ # @return [Json]
73
+ def insert(params)
74
+ puts Request.http(@url,'POST',params)
75
+ end
76
+
77
+ ##
78
+ # Update records
79
+ #
80
+ # @author Alireza Josheghani <a.josheghani@anetwork.ir>
81
+ # @since 24 Nov 2016
82
+ # @param [Object] params
83
+ # @return [Json]
84
+ def update(params)
85
+ params['_METHOD'] = 'PUT'
86
+ puts Request.http(@url,'POST',params)
87
+ end
88
+
89
+ ##
90
+ # Delete record
91
+ #
92
+ # @author Alireza Josheghani <a.josheghani@anetwork.ir>
93
+ # @since 24 Nov 2016
94
+ # @param [integer] id
95
+ # @return [Json]
96
+ def delete(id)
97
+ params = {
98
+ _METHOD: 'DELETE',
99
+ id: id
100
+ }
101
+ puts Request.http(@url,'POST',params)
102
+ end
103
+
104
+ ##
105
+ # Get results
106
+ #
107
+ # @author Alireza Josheghani <a.josheghani@anetwork.ir>
108
+ # @since 24 Nov 2016
109
+ # @return [json]
110
+ def get
111
+ puts Request.http(@url,'GET')
112
+ end
113
+
114
+ end
115
+
116
+ class Request
117
+
118
+ # require http librayr
119
+ require 'net/http'
120
+
121
+ def self.http(url,method,params = [])
122
+
123
+ uri = URI.parse(url)
124
+ http = Net::HTTP.new(uri.host, uri.port)
125
+
126
+ if method == 'POST'
127
+ request = Net::HTTP::Post.new(uri)
128
+ request.set_form_data(params)
129
+ else
130
+ request = Net::HTTP::Get.new(uri)
131
+ end
132
+
133
+ response = http.request(request)
134
+ response.body
135
+ end
136
+
137
+ end
138
+
139
+ end
metadata ADDED
@@ -0,0 +1,47 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: anetwork_dynamicad
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Alireza Josheghani
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-11-25 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: This is Anetwork Dynamicad Ruby client, if you want to test our REST
14
+ API or want to use it as fast as possible this package is for you, with this package
15
+ you can simply fetch your products, update them, delete them and finally manage
16
+ your products logo. here is how we do it.
17
+ email: a.josheghani@anetwork.ir
18
+ executables: []
19
+ extensions: []
20
+ extra_rdoc_files: []
21
+ files:
22
+ - src/Client.rb
23
+ homepage: https://github.com/iamalirezaj/dynamicad
24
+ licenses:
25
+ - MIT
26
+ metadata: {}
27
+ post_install_message:
28
+ rdoc_options: []
29
+ require_paths:
30
+ - lib
31
+ required_ruby_version: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - ">"
34
+ - !ruby/object:Gem::Version
35
+ version: '1.9'
36
+ required_rubygems_version: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ requirements: []
42
+ rubyforge_project:
43
+ rubygems_version: 2.6.3
44
+ signing_key:
45
+ specification_version: 4
46
+ summary: A Dynamic Ad Ruby Client
47
+ test_files: []