anetwork_dynamicad 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: []