mojesouhlasy 0.0.2
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.
- checksums.yaml +7 -0
- data/README.md +35 -0
- data/lib/generators/mojesouhlasy_generator.rb +12 -0
- data/lib/mojesouhlasy.rb +26 -0
- data/lib/mojesouhlasy/engine.rb +4 -0
- data/lib/mojesouhlasy/purposes.rb +14 -0
- data/lib/mojesouhlasy/users.rb +34 -0
- data/lib/mojesouhlasy/version.rb +3 -0
- data/lib/templates/mojesouhlasy/mojesouhlasy_template.rb +4 -0
- metadata +65 -0
    
        checksums.yaml
    ADDED
    
    | @@ -0,0 +1,7 @@ | |
| 1 | 
            +
            ---
         | 
| 2 | 
            +
            SHA1:
         | 
| 3 | 
            +
              metadata.gz: 4b94c670dee76e37008a0eee2873f827eb6ddee8
         | 
| 4 | 
            +
              data.tar.gz: 34d16e7c4adadb223ce6bff52af23c1f471791f0
         | 
| 5 | 
            +
            SHA512:
         | 
| 6 | 
            +
              metadata.gz: ae4f60b82e05addbb48688b066c536ff7515b3518218e91b54247aef6a016ea05067a437d32a4ba1b147eae41aceb831106ad375d6e4b58dd2c2505bea9d8558
         | 
| 7 | 
            +
              data.tar.gz: 865a3eb99151910c0a05b22a4209031d73a5c1928d38602ba6a059b0c7e1904262d9d3bbf4be2b40a554779326916d78ea9396d11fbc288411161e6549780dd5
         | 
    
        data/README.md
    ADDED
    
    | @@ -0,0 +1,35 @@ | |
| 1 | 
            +
            # Mojesouhlasy.cz
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            ## Installation
         | 
| 4 | 
            +
            Add this line to your application's Gemfile:
         | 
| 5 | 
            +
             | 
| 6 | 
            +
            ```ruby
         | 
| 7 | 
            +
            gem 'mojesouhlasy'
         | 
| 8 | 
            +
            ```
         | 
| 9 | 
            +
             | 
| 10 | 
            +
            ## Configuration
         | 
| 11 | 
            +
             | 
| 12 | 
            +
            Create file in config/initializers/mojesouhlasy.rb with this content:
         | 
| 13 | 
            +
             | 
| 14 | 
            +
            ```ruby
         | 
| 15 | 
            +
            Mojesouhlasy::Core.config = {
         | 
| 16 | 
            +
              endpoint: 'https://mojesouhlasy.cz',
         | 
| 17 | 
            +
              api_token: '' #get this token at Mojesouhlasy.cz
         | 
| 18 | 
            +
            }
         | 
| 19 | 
            +
            ```
         | 
| 20 | 
            +
             | 
| 21 | 
            +
            Or you can generate this config file by running ```rails g mojesouhlasy``` in console. 
         | 
| 22 | 
            +
             | 
| 23 | 
            +
             | 
| 24 | 
            +
            ## Using
         | 
| 25 | 
            +
            ```ruby
         | 
| 26 | 
            +
            Mojesouhlasy::Users.import(['email1@example.com', 'email2@example.com']) #imports users and send registration emails.
         | 
| 27 | 
            +
            Mojesouhlasy::Users.anonymize('email@example.com') #anonymize user with email and sends email to him.
         | 
| 28 | 
            +
            Mojesouhlasy::Users.is_anonymized('email@example.com') #check if user with this email is anonymized.
         | 
| 29 | 
            +
            Mojesouhlasy::Users.anonymized #get all anonymized users.
         | 
| 30 | 
            +
            Mojesouhlasy::Users.not_anonymized #get all not anonymized users.
         | 
| 31 | 
            +
            Mojesouhlasy::Users.approved_for_purpose('purpose-id') #get all approved users for specific purpose.
         | 
| 32 | 
            +
             | 
| 33 | 
            +
            Mojesouhlasy::Purposes.list #get all company's purposes.
         | 
| 34 | 
            +
            ```
         | 
| 35 | 
            +
             | 
| @@ -0,0 +1,12 @@ | |
| 1 | 
            +
            if defined?(Rails)
         | 
| 2 | 
            +
             | 
| 3 | 
            +
              # Rails3 generator invoked with 'rails generate mojesouhlasy'
         | 
| 4 | 
            +
              class MojesouhlasyGenerator < Rails::Generators::Base
         | 
| 5 | 
            +
                source_root(File.expand_path(File.dirname(__FILE__) + "/../templates/mojesouhlasy"))
         | 
| 6 | 
            +
                def copy_initializer
         | 
| 7 | 
            +
             | 
| 8 | 
            +
                  copy_file 'mojesouhlasy_template.rb', 'config/initializers/mojesouhlasy.rb'
         | 
| 9 | 
            +
                end
         | 
| 10 | 
            +
              end
         | 
| 11 | 
            +
             | 
| 12 | 
            +
            end
         | 
    
        data/lib/mojesouhlasy.rb
    ADDED
    
    | @@ -0,0 +1,26 @@ | |
| 1 | 
            +
            module Mojesouhlasy
         | 
| 2 | 
            +
             | 
| 3 | 
            +
              require 'rest-client'
         | 
| 4 | 
            +
              require 'mojesouhlasy/version'
         | 
| 5 | 
            +
              require 'mojesouhlasy/engine' if defined?(::Rails)
         | 
| 6 | 
            +
              require 'mojesouhlasy/users'
         | 
| 7 | 
            +
              require 'mojesouhlasy/purposes'
         | 
| 8 | 
            +
             | 
| 9 | 
            +
              class Core
         | 
| 10 | 
            +
                @@config = {}
         | 
| 11 | 
            +
                cattr_accessor :config
         | 
| 12 | 
            +
             | 
| 13 | 
            +
                def initialize(opts = {})
         | 
| 14 | 
            +
                  @opts = opts
         | 
| 15 | 
            +
                end
         | 
| 16 | 
            +
             | 
| 17 | 
            +
                def self.endpoint
         | 
| 18 | 
            +
                  @@config[:endpoint].presence || 'https://mojesouhlasy.cz'
         | 
| 19 | 
            +
                end
         | 
| 20 | 
            +
             | 
| 21 | 
            +
                def self.headers
         | 
| 22 | 
            +
                  {'AUTH-TOKEN' => @@config[:api_token], accept: :json}
         | 
| 23 | 
            +
                end
         | 
| 24 | 
            +
              end
         | 
| 25 | 
            +
             | 
| 26 | 
            +
            end
         | 
| @@ -0,0 +1,34 @@ | |
| 1 | 
            +
            module Mojesouhlasy
         | 
| 2 | 
            +
              module Users
         | 
| 3 | 
            +
             | 
| 4 | 
            +
                def self.import(emails)
         | 
| 5 | 
            +
                  parse(RestClient.post "#{Core.endpoint}/api/company/users/import", {emails: emails}, Core.headers)
         | 
| 6 | 
            +
                end
         | 
| 7 | 
            +
             | 
| 8 | 
            +
                def self.anonymize(email)
         | 
| 9 | 
            +
                  parse(RestClient.get "#{Core.endpoint}/api/company/users/anonymize", Core.headers.merge!({params: {email: email}}))
         | 
| 10 | 
            +
                end
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                def self.approved_for_purpose(purpose_id)
         | 
| 13 | 
            +
                  parse(RestClient.get "#{Core.endpoint}/api/company/purposes/#{purpose_id}/users", Core.headers)
         | 
| 14 | 
            +
                end
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                def self.anonymized
         | 
| 17 | 
            +
                  parse(RestClient.get "#{Core.endpoint}/api/company/users/anonymized", Core.headers)
         | 
| 18 | 
            +
                end
         | 
| 19 | 
            +
             | 
| 20 | 
            +
                def self.is_anonymized(email)
         | 
| 21 | 
            +
                  parse(RestClient.get "#{Core.endpoint}/api/company/users/is_anonymized", Core.headers.merge!({params: {email: email}}))
         | 
| 22 | 
            +
                end
         | 
| 23 | 
            +
             | 
| 24 | 
            +
                def self.not_anonymized
         | 
| 25 | 
            +
                  parse(RestClient.get "#{Core.endpoint}/api/company/users/not_anonymized", Core.headers)
         | 
| 26 | 
            +
                end
         | 
| 27 | 
            +
                
         | 
| 28 | 
            +
                private 
         | 
| 29 | 
            +
                
         | 
| 30 | 
            +
                def self.parse(request)
         | 
| 31 | 
            +
                  JSON.parse(request, symbolize_names: true)
         | 
| 32 | 
            +
                end
         | 
| 33 | 
            +
              end
         | 
| 34 | 
            +
            end
         | 
    
        metadata
    ADDED
    
    | @@ -0,0 +1,65 @@ | |
| 1 | 
            +
            --- !ruby/object:Gem::Specification
         | 
| 2 | 
            +
            name: mojesouhlasy
         | 
| 3 | 
            +
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            +
              version: 0.0.2
         | 
| 5 | 
            +
            platform: ruby
         | 
| 6 | 
            +
            authors:
         | 
| 7 | 
            +
            - Richard Lapiš
         | 
| 8 | 
            +
            autorequire: 
         | 
| 9 | 
            +
            bindir: bin
         | 
| 10 | 
            +
            cert_chain: []
         | 
| 11 | 
            +
            date: 2018-04-01 00:00:00.000000000 Z
         | 
| 12 | 
            +
            dependencies:
         | 
| 13 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 14 | 
            +
              name: rest-client
         | 
| 15 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 16 | 
            +
                requirements:
         | 
| 17 | 
            +
                - - '>='
         | 
| 18 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 19 | 
            +
                    version: 1.7.3
         | 
| 20 | 
            +
              type: :runtime
         | 
| 21 | 
            +
              prerelease: false
         | 
| 22 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 23 | 
            +
                requirements:
         | 
| 24 | 
            +
                - - '>='
         | 
| 25 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 26 | 
            +
                    version: 1.7.3
         | 
| 27 | 
            +
            description: Connection to mojesouhlasy.cz - GDPR consents application
         | 
| 28 | 
            +
            email: richard.lapis@gmail.com
         | 
| 29 | 
            +
            executables: []
         | 
| 30 | 
            +
            extensions: []
         | 
| 31 | 
            +
            extra_rdoc_files: []
         | 
| 32 | 
            +
            files:
         | 
| 33 | 
            +
            - README.md
         | 
| 34 | 
            +
            - lib/generators/mojesouhlasy_generator.rb
         | 
| 35 | 
            +
            - lib/mojesouhlasy.rb
         | 
| 36 | 
            +
            - lib/mojesouhlasy/engine.rb
         | 
| 37 | 
            +
            - lib/mojesouhlasy/purposes.rb
         | 
| 38 | 
            +
            - lib/mojesouhlasy/users.rb
         | 
| 39 | 
            +
            - lib/mojesouhlasy/version.rb
         | 
| 40 | 
            +
            - lib/templates/mojesouhlasy/mojesouhlasy_template.rb
         | 
| 41 | 
            +
            homepage: https://railsformers.com
         | 
| 42 | 
            +
            licenses:
         | 
| 43 | 
            +
            - MIT
         | 
| 44 | 
            +
            metadata: {}
         | 
| 45 | 
            +
            post_install_message: 
         | 
| 46 | 
            +
            rdoc_options: []
         | 
| 47 | 
            +
            require_paths:
         | 
| 48 | 
            +
            - lib
         | 
| 49 | 
            +
            required_ruby_version: !ruby/object:Gem::Requirement
         | 
| 50 | 
            +
              requirements:
         | 
| 51 | 
            +
              - - '>='
         | 
| 52 | 
            +
                - !ruby/object:Gem::Version
         | 
| 53 | 
            +
                  version: 1.9.3
         | 
| 54 | 
            +
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 55 | 
            +
              requirements:
         | 
| 56 | 
            +
              - - '>='
         | 
| 57 | 
            +
                - !ruby/object:Gem::Version
         | 
| 58 | 
            +
                  version: '0'
         | 
| 59 | 
            +
            requirements: []
         | 
| 60 | 
            +
            rubyforge_project: 
         | 
| 61 | 
            +
            rubygems_version: 2.4.8
         | 
| 62 | 
            +
            signing_key: 
         | 
| 63 | 
            +
            specification_version: 3
         | 
| 64 | 
            +
            summary: Connection to mojesouhlasy.cz - GDPR consents application
         | 
| 65 | 
            +
            test_files: []
         |