admidat_query 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/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: []