veye 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 +15 -0
- data/Gemfile +2 -0
- data/Gemfile.lock +51 -0
- data/README.md +271 -0
- data/README.rdoc +6 -0
- data/Rakefile +44 -0
- data/bin/veye +390 -0
- data/lib/veye/api/base_resource.rb +29 -0
- data/lib/veye/api/json_response.rb +56 -0
- data/lib/veye/api/resource.rb +22 -0
- data/lib/veye/api.rb +3 -0
- data/lib/veye/package/follow.rb +50 -0
- data/lib/veye/package/info.rb +50 -0
- data/lib/veye/package/info_csv.rb +18 -0
- data/lib/veye/package/info_json.rb +14 -0
- data/lib/veye/package/info_pretty.rb +27 -0
- data/lib/veye/package/info_table.rb +29 -0
- data/lib/veye/package/search.rb +46 -0
- data/lib/veye/package/search_csv.rb +33 -0
- data/lib/veye/package/search_json.rb +19 -0
- data/lib/veye/package/search_pretty.rb +35 -0
- data/lib/veye/package/search_table.rb +40 -0
- data/lib/veye/package.rb +23 -0
- data/lib/veye/pagination/pagination_csv.rb +17 -0
- data/lib/veye/pagination/pagination_json.rb +12 -0
- data/lib/veye/pagination/pagination_pretty.rb +22 -0
- data/lib/veye/pagination/pagination_table.rb +22 -0
- data/lib/veye/pagination/show.rb +26 -0
- data/lib/veye/pagination.rb +7 -0
- data/lib/veye/project/check.rb +147 -0
- data/lib/veye/project/licence.rb +48 -0
- data/lib/veye/project/project_csv.rb +28 -0
- data/lib/veye/project/project_dependency_csv.rb +25 -0
- data/lib/veye/project/project_dependency_json.rb +12 -0
- data/lib/veye/project/project_dependency_pretty.rb +30 -0
- data/lib/veye/project/project_dependency_table.rb +27 -0
- data/lib/veye/project/project_json.rb +13 -0
- data/lib/veye/project/project_licence_csv.rb +19 -0
- data/lib/veye/project/project_licence_json.rb +12 -0
- data/lib/veye/project/project_licence_pretty.rb +23 -0
- data/lib/veye/project/project_licence_table.rb +29 -0
- data/lib/veye/project/project_pretty.rb +28 -0
- data/lib/veye/project/project_table.rb +30 -0
- data/lib/veye/project.rb +11 -0
- data/lib/veye/service.rb +14 -0
- data/lib/veye/user/favorite_csv.rb +28 -0
- data/lib/veye/user/favorite_json.rb +14 -0
- data/lib/veye/user/favorite_pretty.rb +25 -0
- data/lib/veye/user/favorite_table.rb +28 -0
- data/lib/veye/user/me.rb +75 -0
- data/lib/veye/user/profile_csv.rb +21 -0
- data/lib/veye/user/profile_json.rb +14 -0
- data/lib/veye/user/profile_pretty.rb +31 -0
- data/lib/veye/user/profile_table.rb +34 -0
- data/lib/veye/user.rb +7 -0
- data/lib/veye/version.rb +13 -0
- data/lib/veye.rb +82 -0
- data/test/default_test.rb +14 -0
- data/test/files/Gemfile +20 -0
- data/test/files/maven-1.0.1.pom +128 -0
- data/test/test_helper.rb +9 -0
- data/veye.rdoc +5 -0
- metadata +229 -0
| @@ -0,0 +1,23 @@ | |
| 1 | 
            +
            require 'rainbow'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Veye
         | 
| 4 | 
            +
              module Project
         | 
| 5 | 
            +
                class ProjectLicencePretty
         | 
| 6 | 
            +
                  def before; end
         | 
| 7 | 
            +
                  def after; end
         | 
| 8 | 
            +
             | 
| 9 | 
            +
                  def format(results)
         | 
| 10 | 
            +
                    
         | 
| 11 | 
            +
                    n = 1
         | 
| 12 | 
            +
                    results["licenses"].each_pair do |licence, products|
         | 
| 13 | 
            +
                      product_keys = products.map {|prod| prod["prod_key"]}
         | 
| 14 | 
            +
                      licence_name = "#{licence}".foreground(:green).bright
         | 
| 15 | 
            +
                      printf("%3d - %s\n", n, licence_name)
         | 
| 16 | 
            +
                      printf("\t%-15s : %s\n", "Products", product_keys.join(", "))
         | 
| 17 | 
            +
             | 
| 18 | 
            +
                      n += 1
         | 
| 19 | 
            +
                    end
         | 
| 20 | 
            +
                  end
         | 
| 21 | 
            +
                end
         | 
| 22 | 
            +
              end
         | 
| 23 | 
            +
            end
         | 
| @@ -0,0 +1,29 @@ | |
| 1 | 
            +
            require 'terminal-table'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Veye
         | 
| 4 | 
            +
              module Project
         | 
| 5 | 
            +
                class ProjectLicenceTable
         | 
| 6 | 
            +
                  def before 
         | 
| 7 | 
            +
                    @@table = Terminal::Table.new :title => "Licences",
         | 
| 8 | 
            +
                              :headings => %w(index licence product_keys)
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                    @@table.align_column(0, :right)
         | 
| 11 | 
            +
                  end
         | 
| 12 | 
            +
                  
         | 
| 13 | 
            +
                  def after
         | 
| 14 | 
            +
                    puts @@table.to_s
         | 
| 15 | 
            +
                  end
         | 
| 16 | 
            +
             | 
| 17 | 
            +
                  def format(results) 
         | 
| 18 | 
            +
                    n = 1
         | 
| 19 | 
            +
                    results["licenses"].each_pair do |licence, products|
         | 
| 20 | 
            +
                      products.each do |prod|
         | 
| 21 | 
            +
                        row = [n, licence, prod["prod_key"]]
         | 
| 22 | 
            +
                        @@table << row
         | 
| 23 | 
            +
                      end
         | 
| 24 | 
            +
                      n += 1
         | 
| 25 | 
            +
                    end
         | 
| 26 | 
            +
                  end
         | 
| 27 | 
            +
                end
         | 
| 28 | 
            +
              end
         | 
| 29 | 
            +
            end
         | 
| @@ -0,0 +1,28 @@ | |
| 1 | 
            +
            require 'rainbow'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Veye
         | 
| 4 | 
            +
              module Project
         | 
| 5 | 
            +
                class ProjectPretty
         | 
| 6 | 
            +
                  def before; end
         | 
| 7 | 
            +
                  def after; end
         | 
| 8 | 
            +
             | 
| 9 | 
            +
                  def format(results)
         | 
| 10 | 
            +
                    results = [results] if results.is_a? Hash
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                    results.each_with_index do |result, index|
         | 
| 13 | 
            +
                      project_name = "#{result['name']}".foreground(:green).bright
         | 
| 14 | 
            +
                      printf("%3d - %s\n", index + 1, project_name)
         | 
| 15 | 
            +
                      printf("\t%-15s: %s\n", "Project key", "#{result['project_key']}".bright)
         | 
| 16 | 
            +
                      printf("\t%-15s: %s\n", "Project type", result['project_type'])
         | 
| 17 | 
            +
                      printf("\t%-15s: %s\n", "Private", result['private'])
         | 
| 18 | 
            +
                      printf("\t%-15s: %s\n", "Period", result['period'])
         | 
| 19 | 
            +
                      printf("\t%-15s: %s\n", "Source", result['source'])
         | 
| 20 | 
            +
                      printf("\t%-15s: %s\n", "Dependencies", result['dep_number'])
         | 
| 21 | 
            +
                      printf("\t%-15s: %s\n", "Outdated", result['out_number'])
         | 
| 22 | 
            +
                      printf("\t%-15s: %s\n", "Created", result['created_at'])
         | 
| 23 | 
            +
             | 
| 24 | 
            +
                    end
         | 
| 25 | 
            +
                  end
         | 
| 26 | 
            +
                end
         | 
| 27 | 
            +
              end
         | 
| 28 | 
            +
            end
         | 
| @@ -0,0 +1,30 @@ | |
| 1 | 
            +
             require 'terminal-table'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
             module Veye
         | 
| 4 | 
            +
               module Project
         | 
| 5 | 
            +
                 class ProjectTable
         | 
| 6 | 
            +
                   def before
         | 
| 7 | 
            +
                     @@table = Terminal::Table.new :title => "Projects",
         | 
| 8 | 
            +
                               :headings => %w(index name project_key private period source dependencies outdated created_at)
         | 
| 9 | 
            +
                     
         | 
| 10 | 
            +
                     @@table.align_column(0, :right)
         | 
| 11 | 
            +
                   end
         | 
| 12 | 
            +
             | 
| 13 | 
            +
                   def after
         | 
| 14 | 
            +
                     puts @@table.to_s
         | 
| 15 | 
            +
                   end
         | 
| 16 | 
            +
             | 
| 17 | 
            +
                   def format(results)
         | 
| 18 | 
            +
                     results = [results] if results.is_a? Hash
         | 
| 19 | 
            +
             | 
| 20 | 
            +
                     results.each_with_index do |result, index|
         | 
| 21 | 
            +
                       row = [index + 1, result['name'], result['project_key'], result['private'],
         | 
| 22 | 
            +
                              result['period'], result['source'], result['dep_number'],
         | 
| 23 | 
            +
                              result['out_number'], result['created_at']]
         | 
| 24 | 
            +
                       @@table << row
         | 
| 25 | 
            +
                     end
         | 
| 26 | 
            +
                   end
         | 
| 27 | 
            +
                 end
         | 
| 28 | 
            +
               end
         | 
| 29 | 
            +
             end
         | 
| 30 | 
            +
             | 
    
        data/lib/veye/project.rb
    ADDED
    
    
    
        data/lib/veye/service.rb
    ADDED
    
    | @@ -0,0 +1,14 @@ | |
| 1 | 
            +
            module Veye
         | 
| 2 | 
            +
              class Service
         | 
| 3 | 
            +
                RESOURCE_PATH = "/services"
         | 
| 4 | 
            +
                def self.ping(n = 1)
         | 
| 5 | 
            +
                  public_api = API::Resource.new RESOURCE_PATH
         | 
| 6 | 
            +
                  api_respond =  "no idea"
         | 
| 7 | 
            +
                  public_api.resource['/ping'].get do |response, request, result, &block|
         | 
| 8 | 
            +
                    api_respond = API::JSONResponse.new(request, result, response)
         | 
| 9 | 
            +
                  end
         | 
| 10 | 
            +
             | 
| 11 | 
            +
                  return api_respond
         | 
| 12 | 
            +
                end
         | 
| 13 | 
            +
              end
         | 
| 14 | 
            +
            end  
         | 
| @@ -0,0 +1,28 @@ | |
| 1 | 
            +
            module Veye
         | 
| 2 | 
            +
              module User
         | 
| 3 | 
            +
                class FavoriteCSV
         | 
| 4 | 
            +
                  def before
         | 
| 5 | 
            +
                    printf("index,name,prod_key,prod_type,version,language\n")
         | 
| 6 | 
            +
                  end
         | 
| 7 | 
            +
                  def after; end
         | 
| 8 | 
            +
             | 
| 9 | 
            +
                  def make_row(result, index = 1)
         | 
| 10 | 
            +
                    row = sprintf("%d,%s,%s,%s,%s,%s",
         | 
| 11 | 
            +
                                  index + 1,
         | 
| 12 | 
            +
                                  result['name'],
         | 
| 13 | 
            +
                                  result['prod_key'],
         | 
| 14 | 
            +
                                  result['prod_type'],
         | 
| 15 | 
            +
                                  result['version'],
         | 
| 16 | 
            +
                                  result['language']
         | 
| 17 | 
            +
                                 )
         | 
| 18 | 
            +
                    row
         | 
| 19 | 
            +
                  end
         | 
| 20 | 
            +
             | 
| 21 | 
            +
                  def format(results)
         | 
| 22 | 
            +
                    results = [results] if results.is_a? Hash
         | 
| 23 | 
            +
                    results.each_with_index {|result, index| printf("%s\n", make_row(result, index))}
         | 
| 24 | 
            +
                  end
         | 
| 25 | 
            +
                end
         | 
| 26 | 
            +
              end
         | 
| 27 | 
            +
            end
         | 
| 28 | 
            +
             | 
| @@ -0,0 +1,25 @@ | |
| 1 | 
            +
            require 'rainbow'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Veye
         | 
| 4 | 
            +
              module User
         | 
| 5 | 
            +
                class FavoritePretty
         | 
| 6 | 
            +
                  def before; end
         | 
| 7 | 
            +
                  def after; end
         | 
| 8 | 
            +
             | 
| 9 | 
            +
                  def show_favorite(fav, index)
         | 
| 10 | 
            +
                    printf("\t%15s - %s\n",
         | 
| 11 | 
            +
                           "#{fav['name']}".foreground(:green).bright,
         | 
| 12 | 
            +
                           "#{fav['prod_key'].bright}")
         | 
| 13 | 
            +
                    puts "\t-------------------------"
         | 
| 14 | 
            +
                    printf("\t%-15s: %s\n", "Product type", fav['prod_type'])
         | 
| 15 | 
            +
                    printf("\t%-15s: %s\n", "Version", "#{fav['prod_type']}".bright)
         | 
| 16 | 
            +
                    printf("\t%-15s: %s\n", "Language", fav['language'])
         | 
| 17 | 
            +
                  end
         | 
| 18 | 
            +
             | 
| 19 | 
            +
                  def format(results)
         | 
| 20 | 
            +
                    results = [results] if results.is_a? Hash
         | 
| 21 | 
            +
                    results.each_with_index {|fav, index| show_favorite(fav, index)}
         | 
| 22 | 
            +
                  end
         | 
| 23 | 
            +
                end
         | 
| 24 | 
            +
              end
         | 
| 25 | 
            +
            end
         | 
| @@ -0,0 +1,28 @@ | |
| 1 | 
            +
            require 'terminal-table'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Veye
         | 
| 4 | 
            +
              module User
         | 
| 5 | 
            +
                class FavoriteTable
         | 
| 6 | 
            +
                  def before
         | 
| 7 | 
            +
                    @@table = Terminal::Table.new :title => "Favorite packages",
         | 
| 8 | 
            +
                                                  :headings => %w(nr name product_key version language)
         | 
| 9 | 
            +
                    @@table.align_column(0, :right)
         | 
| 10 | 
            +
                  end
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                  def after
         | 
| 13 | 
            +
                    puts @@table.to_s
         | 
| 14 | 
            +
                  end
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                  def make_row(fav, index)
         | 
| 17 | 
            +
                    row = [index + 1, fav['name'], fav['prod_key'], fav['version'], fav['language']]
         | 
| 18 | 
            +
                    row
         | 
| 19 | 
            +
                  end
         | 
| 20 | 
            +
             | 
| 21 | 
            +
                  def format(results)
         | 
| 22 | 
            +
                    results = [results] if results.is_a? Hash
         | 
| 23 | 
            +
                    results.each_with_index {|fav, index| @@table << make_row(fav, index)}
         | 
| 24 | 
            +
                  end
         | 
| 25 | 
            +
             | 
| 26 | 
            +
                end
         | 
| 27 | 
            +
              end
         | 
| 28 | 
            +
            end
         | 
    
        data/lib/veye/user/me.rb
    ADDED
    
    | @@ -0,0 +1,75 @@ | |
| 1 | 
            +
            require_relative 'profile_csv.rb'
         | 
| 2 | 
            +
            require_relative 'profile_json.rb'
         | 
| 3 | 
            +
            require_relative 'profile_pretty.rb'
         | 
| 4 | 
            +
            require_relative 'profile_table.rb'
         | 
| 5 | 
            +
             | 
| 6 | 
            +
            require_relative 'favorite_csv.rb'
         | 
| 7 | 
            +
            require_relative 'favorite_json.rb'
         | 
| 8 | 
            +
            require_relative 'favorite_pretty.rb'
         | 
| 9 | 
            +
            require_relative 'favorite_table.rb'
         | 
| 10 | 
            +
             | 
| 11 | 
            +
            module Veye
         | 
| 12 | 
            +
              module User
         | 
| 13 | 
            +
                class Me
         | 
| 14 | 
            +
                  @@profile_formats = {
         | 
| 15 | 
            +
                    'csv'     => ProfileCSV.new,
         | 
| 16 | 
            +
                    'json'    => ProfileJSON.new,
         | 
| 17 | 
            +
                    'pretty'  => ProfilePretty.new,
         | 
| 18 | 
            +
                    'table'   => ProfileTable.new
         | 
| 19 | 
            +
                  }
         | 
| 20 | 
            +
             | 
| 21 | 
            +
                  @@favorite_formats = {
         | 
| 22 | 
            +
                    'csv'     => FavoriteCSV.new,
         | 
| 23 | 
            +
                    'json'    => FavoriteJSON.new,
         | 
| 24 | 
            +
                    'pretty'  => FavoritePretty.new,
         | 
| 25 | 
            +
                    'table'   => FavoriteTable.new
         | 
| 26 | 
            +
                  }
         | 
| 27 | 
            +
             | 
| 28 | 
            +
                  def self.get_profile(api_key)
         | 
| 29 | 
            +
                    user_api = API::Resource.new(RESOURCE_PATH)
         | 
| 30 | 
            +
                    response_data = nil
         | 
| 31 | 
            +
                    qparams = {:params => {:api_key => api_key}}
         | 
| 32 | 
            +
             | 
| 33 | 
            +
                    user_api.resource.get(qparams) do |response, request, result|
         | 
| 34 | 
            +
                      response_data = API::JSONResponse.new(request, result, response)
         | 
| 35 | 
            +
                    end
         | 
| 36 | 
            +
             | 
| 37 | 
            +
                    return response_data
         | 
| 38 | 
            +
                  end
         | 
| 39 | 
            +
             | 
| 40 | 
            +
                  def self.get_favorites(api_key, page = 1)
         | 
| 41 | 
            +
                    user_api = API::Resource.new(RESOURCE_PATH)
         | 
| 42 | 
            +
                    response_data = nil
         | 
| 43 | 
            +
                    qparams = {
         | 
| 44 | 
            +
                      :params => {
         | 
| 45 | 
            +
                        :api_key => api_key,
         | 
| 46 | 
            +
                        :page => page || 1
         | 
| 47 | 
            +
                      }
         | 
| 48 | 
            +
                    }
         | 
| 49 | 
            +
             | 
| 50 | 
            +
                    user_api.resource['/favorites'].get(qparams) do |response, request, result|
         | 
| 51 | 
            +
                      response_data = API::JSONResponse.new(request, result, response)
         | 
| 52 | 
            +
                    end
         | 
| 53 | 
            +
             | 
| 54 | 
            +
                    return response_data
         | 
| 55 | 
            +
                  end
         | 
| 56 | 
            +
             | 
| 57 | 
            +
                  def self.format_profile(results, format = 'pretty')
         | 
| 58 | 
            +
                    formatter = @@profile_formats[format]
         | 
| 59 | 
            +
                    formatter.before
         | 
| 60 | 
            +
                    formatter.format(results)
         | 
| 61 | 
            +
                    formatter.after
         | 
| 62 | 
            +
                  end
         | 
| 63 | 
            +
             | 
| 64 | 
            +
                  def self.format_favorites(results, format = 'pretty')
         | 
| 65 | 
            +
                    formatter = @@favorite_formats[format]
         | 
| 66 | 
            +
                    
         | 
| 67 | 
            +
                    formatter.before
         | 
| 68 | 
            +
                    formatter.format results
         | 
| 69 | 
            +
                    formatter.after
         | 
| 70 | 
            +
                  end
         | 
| 71 | 
            +
             | 
| 72 | 
            +
                end
         | 
| 73 | 
            +
              end
         | 
| 74 | 
            +
            end
         | 
| 75 | 
            +
             | 
| @@ -0,0 +1,21 @@ | |
| 1 | 
            +
            module Veye
         | 
| 2 | 
            +
              module User
         | 
| 3 | 
            +
                class ProfileCSV
         | 
| 4 | 
            +
                  def before
         | 
| 5 | 
            +
                    printf("index,username,fullname,email,plan_name_id,admin,new_notifications,total_notifications\n")
         | 
| 6 | 
            +
                  end
         | 
| 7 | 
            +
                  def after; end
         | 
| 8 | 
            +
             | 
| 9 | 
            +
                  def format(results)
         | 
| 10 | 
            +
                    results = [results] if results.is_a? Hash
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                    results.each_with_index do |result, index|
         | 
| 13 | 
            +
                      printf("%d,%s,%s,%s,%s,%s,%s,%s\n",
         | 
| 14 | 
            +
                            index + 1, result['username'], result['fullname'], result['email'],
         | 
| 15 | 
            +
                            result['plan_name_id'], result['admin'], 
         | 
| 16 | 
            +
                            result['notifications']['new'],result['notifications']['total'])
         | 
| 17 | 
            +
                    end
         | 
| 18 | 
            +
                  end
         | 
| 19 | 
            +
                end
         | 
| 20 | 
            +
              end
         | 
| 21 | 
            +
            end
         | 
| @@ -0,0 +1,31 @@ | |
| 1 | 
            +
            require 'rainbow'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Veye
         | 
| 4 | 
            +
              module User
         | 
| 5 | 
            +
                class ProfilePretty
         | 
| 6 | 
            +
                  def before; end
         | 
| 7 | 
            +
                  def after; end
         | 
| 8 | 
            +
             | 
| 9 | 
            +
                  def show_profile(profile, index)
         | 
| 10 | 
            +
                    printf("\t%15s - %s\n",
         | 
| 11 | 
            +
                           "#{profile['username']}".foreground(:green).bright,
         | 
| 12 | 
            +
                           "#{profile['fullname'].bright}")
         | 
| 13 | 
            +
                    puts "\t-------------------------"
         | 
| 14 | 
            +
                    printf("\t%-15s: %s\n", "Email", profile['email'])
         | 
| 15 | 
            +
                    printf("\t%-15s: %s\n", "Plan name", profile['plan_name_id'])
         | 
| 16 | 
            +
                    printf("\t%-15s: %s\n", "Admin", profile['admin'])
         | 
| 17 | 
            +
                    printf("\t%-15s: %s\n", "Deleted", profile['deleted'])
         | 
| 18 | 
            +
                    printf("\t%-15s: %s\n", "New notif.s",
         | 
| 19 | 
            +
                                            "#{profile['notifications']['new']}".bright)
         | 
| 20 | 
            +
                    printf("\t%-15s: %s\n", "Total notif.s", 
         | 
| 21 | 
            +
                                            profile['notifications']['total'])
         | 
| 22 | 
            +
                  end
         | 
| 23 | 
            +
             | 
| 24 | 
            +
                  def format(results)
         | 
| 25 | 
            +
                    results = [results] if results.is_a? Hash
         | 
| 26 | 
            +
                    results.each_with_index {|profile, index| show_profile(profile, index)}
         | 
| 27 | 
            +
                  end
         | 
| 28 | 
            +
                end
         | 
| 29 | 
            +
              end
         | 
| 30 | 
            +
            end
         | 
| 31 | 
            +
             | 
| @@ -0,0 +1,34 @@ | |
| 1 | 
            +
            require 'terminal-table'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Veye
         | 
| 4 | 
            +
              module User
         | 
| 5 | 
            +
                class ProfileTable
         | 
| 6 | 
            +
                  def before
         | 
| 7 | 
            +
                    @@table = Terminal::Table.new :title => "User's profile",
         | 
| 8 | 
            +
                                                  :headings => %w(nr username fullname email plan_name, admin, deleted, new_notifications, total_notifications)
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                    @@table.align_column(0, :right)
         | 
| 11 | 
            +
                  end
         | 
| 12 | 
            +
             | 
| 13 | 
            +
                  def after
         | 
| 14 | 
            +
                    puts @@table.to_s
         | 
| 15 | 
            +
                  end
         | 
| 16 | 
            +
             | 
| 17 | 
            +
                  def make_row(profile, index)
         | 
| 18 | 
            +
                    row = [index + 1, profile['username'], profile['fullname'], profile['email']]
         | 
| 19 | 
            +
                    row << profile['plan_name_id']
         | 
| 20 | 
            +
                    row << profile['admin']
         | 
| 21 | 
            +
                    row << profile['deleted']
         | 
| 22 | 
            +
                    row << profile['notifications']['new']
         | 
| 23 | 
            +
                    row << profile['notifications']['total']
         | 
| 24 | 
            +
                    return row
         | 
| 25 | 
            +
                  end
         | 
| 26 | 
            +
             | 
| 27 | 
            +
                  def format(results)
         | 
| 28 | 
            +
                    results = [results] if results.is_a? Hash
         | 
| 29 | 
            +
                    results.each_with_index {|profile, index| @@table << make_row(profile, index)}
         | 
| 30 | 
            +
                  end
         | 
| 31 | 
            +
                end
         | 
| 32 | 
            +
              end
         | 
| 33 | 
            +
            end
         | 
| 34 | 
            +
             | 
    
        data/lib/veye/user.rb
    ADDED
    
    
    
        data/lib/veye/version.rb
    ADDED
    
    | @@ -0,0 +1,13 @@ | |
| 1 | 
            +
            module Veye
         | 
| 2 | 
            +
              VERSION = '0.0.2'
         | 
| 3 | 
            +
              BIGEYE = %q{
         | 
| 4 | 
            +
             | 
| 5 | 
            +
                  _    __                   _                ______           
         | 
| 6 | 
            +
                 | |  / /___   _____ _____ (_)____   ____   / ____/__  __ ___ 
         | 
| 7 | 
            +
                 | | / // _ \ / ___// ___// // __ \ / __ \ / __/  / / / // _ \
         | 
| 8 | 
            +
                 | |/ //  __// /   (__  )/ // /_/ // / / // /___ / /_/ //  __/
         | 
| 9 | 
            +
                 |___/ \___//_/   /____//_/ \____//_/ /_//_____/ \__, / \___/ 
         | 
| 10 | 
            +
                                                                /____/        
         | 
| 11 | 
            +
            }
         | 
| 12 | 
            +
             | 
| 13 | 
            +
            end
         | 
    
        data/lib/veye.rb
    ADDED
    
    | @@ -0,0 +1,82 @@ | |
| 1 | 
            +
            # Add requires for other files you add to your project here, so
         | 
| 2 | 
            +
            # you just need to require this one file in your bin file
         | 
| 3 | 
            +
            require 'veye/version.rb'
         | 
| 4 | 
            +
            require 'veye/service.rb'
         | 
| 5 | 
            +
            require 'veye/api.rb'
         | 
| 6 | 
            +
            require 'veye/package.rb'
         | 
| 7 | 
            +
            require 'veye/project.rb'
         | 
| 8 | 
            +
            require 'veye/user.rb'
         | 
| 9 | 
            +
            require 'veye/pagination.rb'
         | 
| 10 | 
            +
             | 
| 11 | 
            +
            $global_options ||= nil 
         | 
| 12 | 
            +
            DEFAULT_CONFIG_FILE = ".veye.rc"
         | 
| 13 | 
            +
            DEFAULT_CONFIG_PATH = "~"
         | 
| 14 | 
            +
             | 
| 15 | 
            +
            def get_config_fullpath
         | 
| 16 | 
            +
              File.expand_path("#{DEFAULT_CONFIG_PATH}/#{DEFAULT_CONFIG_FILE}")
         | 
| 17 | 
            +
            end
         | 
| 18 | 
            +
             | 
| 19 | 
            +
            def config_exists?
         | 
| 20 | 
            +
              filepath = get_config_fullpath
         | 
| 21 | 
            +
              File.exists?(filepath)
         | 
| 22 | 
            +
            end
         | 
| 23 | 
            +
             | 
| 24 | 
            +
            def self.check_configs(global_opts)
         | 
| 25 | 
            +
              unless config_exists?
         | 
| 26 | 
            +
                msg = sprintf("%s: %s\n",
         | 
| 27 | 
            +
                              "config file doesnt exist. ".foreground(:red),
         | 
| 28 | 
            +
                              "Use `veye initconfig` to initialize settings file.")
         | 
| 29 | 
            +
                exit_now!(msg)
         | 
| 30 | 
            +
              end
         | 
| 31 | 
            +
              check_api_key(global_opts)
         | 
| 32 | 
            +
             | 
| 33 | 
            +
              true
         | 
| 34 | 
            +
            end
         | 
| 35 | 
            +
             | 
| 36 | 
            +
            def init_environment
         | 
| 37 | 
            +
                #sets up required variables and modules to work on IRB or unittest
         | 
| 38 | 
            +
                config_file = get_config_fullpath   
         | 
| 39 | 
            +
                $global_options = YAML.load_file(config_file)
         | 
| 40 | 
            +
                $global_options[:config_file] = config_file 
         | 
| 41 | 
            +
                $global_options[:url] = Veye::API::Resource.build_url($global_options)
         | 
| 42 | 
            +
                
         | 
| 43 | 
            +
                $global_options
         | 
| 44 | 
            +
            end
         | 
| 45 | 
            +
             | 
| 46 | 
            +
            def check_api_key(global_opts)
         | 
| 47 | 
            +
              result = false
         | 
| 48 | 
            +
              if global_opts[:api_key].nil? or global_opts[:api_key].match("add your api key")
         | 
| 49 | 
            +
                msg = sprintf("%s: %s\n",
         | 
| 50 | 
            +
                            "Warning: API key is missing.".foreground(:yellow), 
         | 
| 51 | 
            +
                            "You cant access private data.")
         | 
| 52 | 
            +
                 print msg
         | 
| 53 | 
            +
              else
         | 
| 54 | 
            +
                result = true
         | 
| 55 | 
            +
              end
         | 
| 56 | 
            +
             | 
| 57 | 
            +
              result
         | 
| 58 | 
            +
            end
         | 
| 59 | 
            +
             | 
| 60 | 
            +
            def update_api_key
         | 
| 61 | 
            +
              user_key = gets.chomp.to_s.strip
         | 
| 62 | 
            +
              if user_key =~ /No/i
         | 
| 63 | 
            +
                msg = sprintf("%s: %s",
         | 
| 64 | 
            +
                              "Warning:".foreground(:yellow),
         | 
| 65 | 
            +
                              " missing, you cant access private data.")
         | 
| 66 | 
            +
                print msg
         | 
| 67 | 
            +
              else
         | 
| 68 | 
            +
                $global_options[:api_key] = user_key
         | 
| 69 | 
            +
                save_configs
         | 
| 70 | 
            +
              end
         | 
| 71 | 
            +
            end
         | 
| 72 | 
            +
             | 
| 73 | 
            +
            def save_configs
         | 
| 74 | 
            +
              filepath = get_config_fullpath
         | 
| 75 | 
            +
              File.open(filepath, 'w') do |f|
         | 
| 76 | 
            +
                f.puts $global_options.to_yaml
         | 
| 77 | 
            +
              end
         | 
| 78 | 
            +
              msg = sprintf("%s: %s",
         | 
| 79 | 
            +
                     "Success".foreground(:green),
         | 
| 80 | 
            +
                     "new settings are saved into file: `#{filepath}`")
         | 
| 81 | 
            +
              print msg
         | 
| 82 | 
            +
            end
         | 
    
        data/test/files/Gemfile
    ADDED
    
    | @@ -0,0 +1,20 @@ | |
| 1 | 
            +
            source 'https://rubygems.org'
         | 
| 2 | 
            +
            gem 'rails', '3.2.9'
         | 
| 3 | 
            +
            group :assets do
         | 
| 4 | 
            +
              gem 'sass-rails',   '~> 3.2.3'
         | 
| 5 | 
            +
              gem 'coffee-rails', '~> 3.2.1'
         | 
| 6 | 
            +
              gem 'uglifier', '>= 1.0.3'
         | 
| 7 | 
            +
            end
         | 
| 8 | 
            +
            gem 'jquery-rails'
         | 
| 9 | 
            +
            gem "mongoid", ">= 3.0.14"
         | 
| 10 | 
            +
            gem "rspec-rails", ">= 2.11.4", :group => [:development, :test]
         | 
| 11 | 
            +
            gem "database_cleaner", ">= 0.9.1", :group => :test
         | 
| 12 | 
            +
            gem "mongoid-rspec", ">= 1.5.5", :group => :test
         | 
| 13 | 
            +
            gem "email_spec", ">= 1.4.0", :group => :test
         | 
| 14 | 
            +
            gem "cucumber-rails", ">= 1.3.0", :group => :test, :require => false
         | 
| 15 | 
            +
            gem "launchy", ">= 2.1.2", :group => :test
         | 
| 16 | 
            +
            gem "capybara", ">= 1.1.4", :group => :test
         | 
| 17 | 
            +
            gem "factory_girl_rails", ">= 4.1.0", :group => [:development, :test]
         | 
| 18 | 
            +
            gem "omniauth", ">= 1.1.1"
         | 
| 19 | 
            +
            gem "omniauth-twitter"
         | 
| 20 | 
            +
            gem "quiet_assets", ">= 1.0.1", :group => :development
         |