admidat_query 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/lib/admitad.rb +118 -0
  3. metadata +43 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: d7e314b2cb5b5aba795bb7e9df0e880491f131c58fb9ffa644076661e701e9bf
4
+ data.tar.gz: d775c952e60f4f330144488f3c089d2d603af47a8990cd81c573b95ed73f3ace
5
+ SHA512:
6
+ metadata.gz: afce5bb6173bbb771478335ad60444868c485cd881df36e9e55a8736117d466d2f0ef812769d3051bbbce6090df84afa162ae659cf70a7fa0309c76e9ceaccbe
7
+ data.tar.gz: 012657161accbc1b26ac948d4a03cd45d1de89bda7fefc7d6b320845780b233ecf202d2667ed59aca836e1ad7666ba46d0310ccec5389174238b2504f78d1e3c
data/lib/admitad.rb ADDED
@@ -0,0 +1,118 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "admitad/version"
4
+
5
+ module Admitad
6
+ class Error < StandardError; end
7
+ # frozen_string_literal: true
8
+ # Rails cache
9
+ # Singeltone
10
+ require 'http'
11
+ require 'uri'
12
+ require 'net/http'
13
+ require 'json'
14
+
15
+ Admitad.config do |c|
16
+ c.client_id = '9Oo9LsDIaQhqCUtVkbSFIPfSmXQ7mQ'
17
+ c.client_secret = '0cD5yQEVDAA8hK4NSqDVJF7VUHHU5A'
18
+ c.scope = ''
19
+ end
20
+
21
+ def create_json(request)
22
+ raw_json = JSON.generate(request)
23
+ raw_json = JSON.parse raw_json.gsub('=>', ':')
24
+ JSON(raw_json)
25
+ end
26
+
27
+ def autorisation_admitad
28
+ cookies[:code] = params[:code] unless params[:code].nil?
29
+ url = URI("https://api.admitad.com/token/?state=7c232ff20e64432fbe071228c0779f&redirect_uri=http%3A%2F%2F127.0.0.1:3000%2F&response_type=code&client_id=9Oo9LsDIaQhqCUtVkbSFIPfSmXQ7mQ&client_secret=0cD5yQEVDAA8hK4NSqDVJF7VUHHU5A&code=#{cookies[:code]}&grant_type=authorization_code")
30
+
31
+ https = Net::HTTP.new(url.host, url.port)
32
+ https.use_ssl = true
33
+
34
+ request = Net::HTTP::Post.new(url)
35
+ request['Authorization'] =
36
+ 'Basic OU9vOUxzRElhUWhxQ1V0VmtiU0ZJUGZTbVhRN21ROjBjRDV5UUVWREFBOGhLNE5TcURWSkY3VlVISFU1QQ=='
37
+ request['Cookie'] = 'gdpr_country=0'
38
+
39
+ request = create_json(https.request(request).read_body)
40
+ @response = request
41
+ cookies[:refresh_token] = request['refresh_token'] unless request['refresh_token'].nil?
42
+ cookies[:access_token] = request['access_token'] unless request['refresh_token'].nil?
43
+ end
44
+
45
+ def get_subid_data
46
+ url = URI('https://api.admitad.com/statistics/sub_ids/?date_start=01.01.2021&order_by=sub_id')
47
+
48
+ https = Net::HTTP.new(url.host, url.port)
49
+ https.use_ssl = true
50
+
51
+ request = Net::HTTP::Get.new(url)
52
+ request['Authorization'] = "Bearer #{cookies[:access_token]}"
53
+ request['Cookie'] = 'gdpr_country=0; user_default_language=en'
54
+ request = create_json(https.request(request).read_body)
55
+ puts "11111111111111111111111111111111111"
56
+ @subid_data = request
57
+ cookies[:subid_data] = request['results'] unless request['status_code'] == 401
58
+ end
59
+
60
+ def get_action_data
61
+ url = URI('https://api.admitad.com/statistics/actions/?date_start=14.03.2021&limit=222&order_by=date&action_type=1')
62
+
63
+ https = Net::HTTP.new(url.host, url.port)
64
+ https.use_ssl = true
65
+
66
+ request = Net::HTTP::Get.new(url)
67
+ request['Authorization'] = "Bearer #{cookies[:access_token]}"
68
+ request['Cookie'] = 'gdpr_country=0; user_default_language=en'
69
+ puts "-------------------------------"
70
+ puts https.request(request).read_body
71
+ request = create_json(https.request(request).read_body.force_encoding('utf-8'))
72
+ @action_data = request['results']
73
+ end
74
+ def rec_user_actions
75
+ sub_id = cookies[:subid_data]
76
+ sub_id.each do |client|
77
+ next if client['subid'] == ''
78
+ begin
79
+ @client = User.find(client['subid']) if User.find(client['subid']).present?
80
+ transaction_params = params.permit(:total).merge(user_id: client['subid'], offer_id: 1, status: 0)
81
+ @transaction = Transaction.find_by(transaction_params.except(:status, :total))
82
+ if @transaction.present?
83
+ @transaction.total = client['payment_sum_open']
84
+ @transaction.status = 0
85
+ @transaction.save
86
+ else
87
+ Transaction.create(transaction_params.merge(total: client['payment_sum_open']))
88
+ end
89
+ rescue ActiveRecord::RecordNotFound
90
+ next
91
+ end
92
+ end
93
+ end
94
+
95
+ def rec_user_data
96
+ sub_id = cookies[:subid_data]
97
+ sub_id.each do |client|
98
+ next if client['subid'] == ''
99
+ begin
100
+ @client = User.find(client['subid']) if User.find(client['subid']).present?
101
+ transaction_params = params.permit(:total).merge(user_id: client['subid'], offer_id: 1, status: 0)
102
+ @transaction = Transaction.find_by(transaction_params.except(:status, :total))
103
+ if @transaction.present?
104
+ @transaction.total = client['payment_sum_open']
105
+ @transaction.status = 0
106
+ @transaction.save
107
+ else
108
+ Transaction.create(transaction_params.merge(total: client['payment_sum_open']))
109
+ end
110
+ rescue ActiveRecord::RecordNotFound
111
+ next
112
+ end
113
+ end
114
+ end
115
+
116
+
117
+
118
+ end
metadata ADDED
@@ -0,0 +1,43 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: admidat_query
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - cruelRamp
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2021-03-24 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: A gem whit redy qury methods
14
+ email: minery27@gmail.com
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - lib/admitad.rb
20
+ homepage:
21
+ licenses:
22
+ - MIT
23
+ metadata: {}
24
+ post_install_message:
25
+ rdoc_options: []
26
+ require_paths:
27
+ - lib
28
+ required_ruby_version: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ required_rubygems_version: !ruby/object:Gem::Requirement
34
+ requirements:
35
+ - - ">="
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ requirements: []
39
+ rubygems_version: 3.1.2
40
+ signing_key:
41
+ specification_version: 4
42
+ summary: Hola!
43
+ test_files: []