devtools 0.1.2 → 0.1.3
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 +4 -4
 - data/.rspec +1 -0
 - data/Gemfile +0 -2
 - data/README.md +2 -2
 - data/circle.yml +1 -1
 - data/config/devtools.yml +2 -0
 - data/config/flay.yml +2 -2
 - data/config/flog.yml +1 -1
 - data/config/mutant.yml +2 -0
 - data/config/reek.yml +7 -12
 - data/devtools.gemspec +20 -18
 - data/lib/devtools.rb +34 -83
 - data/lib/devtools/config.rb +76 -55
 - data/lib/devtools/flay.rb +94 -0
 - data/lib/devtools/project.rb +28 -105
 - data/lib/devtools/project/initializer.rb +2 -12
 - data/lib/devtools/project/initializer/rake.rb +9 -7
 - data/lib/devtools/project/initializer/rspec.rb +28 -55
 - data/lib/devtools/rake/flay.rb +126 -0
 - data/lib/devtools/spec_helper.rb +1 -3
 - data/shared/spec/shared/abstract_type_behavior.rb +0 -2
 - data/shared/spec/shared/command_method_behavior.rb +0 -2
 - data/shared/spec/shared/each_method_behaviour.rb +0 -2
 - data/shared/spec/shared/hash_method_behavior.rb +0 -2
 - data/shared/spec/shared/idempotent_method_behavior.rb +0 -2
 - data/shared/spec/support/ice_nine_config.rb +0 -2
 - data/spec/integration/devtools/rake/flay/verify_spec.rb +164 -0
 - data/spec/spec_helper.rb +2 -8
 - data/spec/unit/devtools/config/yardstick_spec.rb +17 -0
 - data/spec/unit/devtools/config_spec.rb +78 -0
 - data/spec/unit/devtools/flay/file_list/call_spec.rb +19 -0
 - data/spec/unit/devtools/flay/scale/flay_report_spec.rb +17 -0
 - data/spec/unit/devtools/flay/scale/measure_spec.rb +43 -0
 - data/spec/unit/devtools/project/initializer/rake_spec.rb +21 -0
 - data/spec/unit/devtools/project/initializer/rspec_spec.rb +52 -0
 - data/spec/unit/devtools/project_spec.rb +34 -0
 - data/spec/unit/devtools_spec.rb +14 -0
 - data/tasks/metrics/ci.rake +1 -3
 - data/tasks/metrics/coverage.rake +0 -2
 - data/tasks/metrics/flay.rake +6 -33
 - data/tasks/metrics/flog.rake +0 -2
 - data/tasks/metrics/mutant.rake +31 -39
 - data/tasks/metrics/reek.rake +0 -2
 - data/tasks/metrics/rubocop.rake +0 -2
 - data/tasks/metrics/yardstick.rake +0 -14
 - data/tasks/spec.rake +0 -2
 - data/tasks/yard.rake +0 -2
 - metadata +96 -31
 - data/.travis.yml +0 -15
 - data/TODO +0 -0
 - data/bin/devtools +0 -18
 - data/default/config/devtools.yml +0 -2
 - data/default/config/flay.yml +0 -3
 - data/default/config/flog.yml +0 -2
 - data/default/config/mutant.yml +0 -3
 - data/default/config/reek.yml +0 -103
 - data/default/config/rubocop.yml +0 -91
 - data/default/config/yardstick.yml +0 -2
 - data/lib/devtools/platform.rb +0 -118
 - data/lib/devtools/site.rb +0 -41
 - data/lib/devtools/site/initializer.rb +0 -57
 
    
        data/.travis.yml
    DELETED
    
    | 
         @@ -1,15 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            sudo: false
         
     | 
| 
       2 
     | 
    
         
            -
            language: ruby
         
     | 
| 
       3 
     | 
    
         
            -
            bundler_args: --without yard guard benchmarks
         
     | 
| 
       4 
     | 
    
         
            -
            script: "bundle exec rake ci"
         
     | 
| 
       5 
     | 
    
         
            -
            rvm:
         
     | 
| 
       6 
     | 
    
         
            -
              - '2.1'
         
     | 
| 
       7 
     | 
    
         
            -
              - '2.2'
         
     | 
| 
       8 
     | 
    
         
            -
              - rbx
         
     | 
| 
       9 
     | 
    
         
            -
            matrix:
         
     | 
| 
       10 
     | 
    
         
            -
              include:
         
     | 
| 
       11 
     | 
    
         
            -
                - rvm: jruby
         
     | 
| 
       12 
     | 
    
         
            -
                  env: JRUBY_OPTS="$JRUBY_OPTS --debug --2.0"
         
     | 
| 
       13 
     | 
    
         
            -
              allow_failures:
         
     | 
| 
       14 
     | 
    
         
            -
                - rvm: jruby
         
     | 
| 
       15 
     | 
    
         
            -
                - rvm: rbx
         
     | 
    
        data/TODO
    DELETED
    
    | 
         
            File without changes
         
     | 
    
        data/bin/devtools
    DELETED
    
    | 
         @@ -1,18 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            #!/usr/bin/env ruby
         
     | 
| 
       2 
     | 
    
         
            -
            # encoding: utf-8
         
     | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
       4 
     | 
    
         
            -
            require 'bundler'
         
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
            Bundler.setup
         
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
            require 'devtools'
         
     | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
       10 
     | 
    
         
            -
            command = ARGV.first
         
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
       12 
     | 
    
         
            -
            case command
         
     | 
| 
       13 
     | 
    
         
            -
            when 'init'   then Devtools.init
         
     | 
| 
       14 
     | 
    
         
            -
            when 'sync'   then Devtools.sync
         
     | 
| 
       15 
     | 
    
         
            -
            when 'update' then Devtools.update
         
     | 
| 
       16 
     | 
    
         
            -
            else
         
     | 
| 
       17 
     | 
    
         
            -
              puts 'command not supported'
         
     | 
| 
       18 
     | 
    
         
            -
            end
         
     | 
    
        data/default/config/devtools.yml
    DELETED
    
    
    
        data/default/config/flay.yml
    DELETED
    
    
    
        data/default/config/flog.yml
    DELETED
    
    
    
        data/default/config/mutant.yml
    DELETED
    
    
    
        data/default/config/reek.yml
    DELETED
    
    | 
         @@ -1,103 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            ---
         
     | 
| 
       2 
     | 
    
         
            -
            Attribute:
         
     | 
| 
       3 
     | 
    
         
            -
              enabled: true
         
     | 
| 
       4 
     | 
    
         
            -
              exclude: []
         
     | 
| 
       5 
     | 
    
         
            -
            BooleanParameter:
         
     | 
| 
       6 
     | 
    
         
            -
              enabled: true
         
     | 
| 
       7 
     | 
    
         
            -
              exclude: []
         
     | 
| 
       8 
     | 
    
         
            -
            ClassVariable:
         
     | 
| 
       9 
     | 
    
         
            -
              enabled: true
         
     | 
| 
       10 
     | 
    
         
            -
              exclude: []
         
     | 
| 
       11 
     | 
    
         
            -
            ControlParameter:
         
     | 
| 
       12 
     | 
    
         
            -
              enabled: true
         
     | 
| 
       13 
     | 
    
         
            -
              exclude: []
         
     | 
| 
       14 
     | 
    
         
            -
            DataClump:
         
     | 
| 
       15 
     | 
    
         
            -
              enabled: true
         
     | 
| 
       16 
     | 
    
         
            -
              exclude: []
         
     | 
| 
       17 
     | 
    
         
            -
              max_copies: 2
         
     | 
| 
       18 
     | 
    
         
            -
              min_clump_size: 2
         
     | 
| 
       19 
     | 
    
         
            -
            DuplicateMethodCall:
         
     | 
| 
       20 
     | 
    
         
            -
              enabled: true
         
     | 
| 
       21 
     | 
    
         
            -
              exclude: []
         
     | 
| 
       22 
     | 
    
         
            -
              max_calls: 1
         
     | 
| 
       23 
     | 
    
         
            -
              allow_calls: []
         
     | 
| 
       24 
     | 
    
         
            -
            FeatureEnvy:
         
     | 
| 
       25 
     | 
    
         
            -
              enabled: true
         
     | 
| 
       26 
     | 
    
         
            -
              exclude: []
         
     | 
| 
       27 
     | 
    
         
            -
            IrresponsibleModule:
         
     | 
| 
       28 
     | 
    
         
            -
              enabled: true
         
     | 
| 
       29 
     | 
    
         
            -
              exclude: []
         
     | 
| 
       30 
     | 
    
         
            -
            LongParameterList:
         
     | 
| 
       31 
     | 
    
         
            -
              enabled: true
         
     | 
| 
       32 
     | 
    
         
            -
              exclude: []
         
     | 
| 
       33 
     | 
    
         
            -
              max_params: 2
         
     | 
| 
       34 
     | 
    
         
            -
              overrides:
         
     | 
| 
       35 
     | 
    
         
            -
                initialize:
         
     | 
| 
       36 
     | 
    
         
            -
                  max_params: 3
         
     | 
| 
       37 
     | 
    
         
            -
            LongYieldList:
         
     | 
| 
       38 
     | 
    
         
            -
              enabled: true
         
     | 
| 
       39 
     | 
    
         
            -
              exclude: []
         
     | 
| 
       40 
     | 
    
         
            -
              max_params: 2
         
     | 
| 
       41 
     | 
    
         
            -
            NestedIterators:
         
     | 
| 
       42 
     | 
    
         
            -
              enabled: true
         
     | 
| 
       43 
     | 
    
         
            -
              exclude: []
         
     | 
| 
       44 
     | 
    
         
            -
              max_allowed_nesting: 1
         
     | 
| 
       45 
     | 
    
         
            -
              ignore_iterators: []
         
     | 
| 
       46 
     | 
    
         
            -
            NilCheck:
         
     | 
| 
       47 
     | 
    
         
            -
              enabled: true
         
     | 
| 
       48 
     | 
    
         
            -
              exclude: []
         
     | 
| 
       49 
     | 
    
         
            -
            RepeatedConditional:
         
     | 
| 
       50 
     | 
    
         
            -
              enabled: true
         
     | 
| 
       51 
     | 
    
         
            -
              exclude: []
         
     | 
| 
       52 
     | 
    
         
            -
              max_ifs: 1
         
     | 
| 
       53 
     | 
    
         
            -
            TooManyInstanceVariables:
         
     | 
| 
       54 
     | 
    
         
            -
              enabled: true
         
     | 
| 
       55 
     | 
    
         
            -
              exclude: []
         
     | 
| 
       56 
     | 
    
         
            -
              max_instance_variables: 3
         
     | 
| 
       57 
     | 
    
         
            -
            TooManyMethods:
         
     | 
| 
       58 
     | 
    
         
            -
              enabled: true
         
     | 
| 
       59 
     | 
    
         
            -
              exclude: []
         
     | 
| 
       60 
     | 
    
         
            -
              max_methods: 10
         
     | 
| 
       61 
     | 
    
         
            -
            TooManyStatements:
         
     | 
| 
       62 
     | 
    
         
            -
              enabled: true
         
     | 
| 
       63 
     | 
    
         
            -
              exclude:
         
     | 
| 
       64 
     | 
    
         
            -
              - each
         
     | 
| 
       65 
     | 
    
         
            -
              max_statements: 2
         
     | 
| 
       66 
     | 
    
         
            -
            UncommunicativeMethodName:
         
     | 
| 
       67 
     | 
    
         
            -
              enabled: true
         
     | 
| 
       68 
     | 
    
         
            -
              exclude: []
         
     | 
| 
       69 
     | 
    
         
            -
              reject:
         
     | 
| 
       70 
     | 
    
         
            -
              - !ruby/regexp /^[a-z]$/
         
     | 
| 
       71 
     | 
    
         
            -
              - !ruby/regexp /[0-9]$/
         
     | 
| 
       72 
     | 
    
         
            -
              - !ruby/regexp /[A-Z]/
         
     | 
| 
       73 
     | 
    
         
            -
              accept: []
         
     | 
| 
       74 
     | 
    
         
            -
            UncommunicativeModuleName:
         
     | 
| 
       75 
     | 
    
         
            -
              enabled: true
         
     | 
| 
       76 
     | 
    
         
            -
              exclude: []
         
     | 
| 
       77 
     | 
    
         
            -
              reject:
         
     | 
| 
       78 
     | 
    
         
            -
              - !ruby/regexp /^.$/
         
     | 
| 
       79 
     | 
    
         
            -
              - !ruby/regexp /[0-9]$/
         
     | 
| 
       80 
     | 
    
         
            -
              accept: []
         
     | 
| 
       81 
     | 
    
         
            -
            UncommunicativeParameterName:
         
     | 
| 
       82 
     | 
    
         
            -
              enabled: true
         
     | 
| 
       83 
     | 
    
         
            -
              exclude: []
         
     | 
| 
       84 
     | 
    
         
            -
              reject:
         
     | 
| 
       85 
     | 
    
         
            -
              - !ruby/regexp /^.$/
         
     | 
| 
       86 
     | 
    
         
            -
              - !ruby/regexp /[0-9]$/
         
     | 
| 
       87 
     | 
    
         
            -
              - !ruby/regexp /[A-Z]/
         
     | 
| 
       88 
     | 
    
         
            -
              accept: []
         
     | 
| 
       89 
     | 
    
         
            -
            UncommunicativeVariableName:
         
     | 
| 
       90 
     | 
    
         
            -
              enabled: true
         
     | 
| 
       91 
     | 
    
         
            -
              exclude: []
         
     | 
| 
       92 
     | 
    
         
            -
              reject:
         
     | 
| 
       93 
     | 
    
         
            -
              - !ruby/regexp /^.$/
         
     | 
| 
       94 
     | 
    
         
            -
              - !ruby/regexp /[0-9]$/
         
     | 
| 
       95 
     | 
    
         
            -
              - !ruby/regexp /[A-Z]/
         
     | 
| 
       96 
     | 
    
         
            -
              accept: []
         
     | 
| 
       97 
     | 
    
         
            -
            UnusedParameters:
         
     | 
| 
       98 
     | 
    
         
            -
              enabled: true
         
     | 
| 
       99 
     | 
    
         
            -
              exclude: []
         
     | 
| 
       100 
     | 
    
         
            -
            UtilityFunction:
         
     | 
| 
       101 
     | 
    
         
            -
              enabled: true
         
     | 
| 
       102 
     | 
    
         
            -
              exclude: []
         
     | 
| 
       103 
     | 
    
         
            -
              max_helper_calls: 0
         
     | 
    
        data/default/config/rubocop.yml
    DELETED
    
    | 
         @@ -1,91 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            AllCops:
         
     | 
| 
       2 
     | 
    
         
            -
              Includes:
         
     | 
| 
       3 
     | 
    
         
            -
                - '**/*.rake'
         
     | 
| 
       4 
     | 
    
         
            -
                - 'Gemfile'
         
     | 
| 
       5 
     | 
    
         
            -
              Excludes:
         
     | 
| 
       6 
     | 
    
         
            -
                - '**/vendor/**'
         
     | 
| 
       7 
     | 
    
         
            -
                - '**/benchmarks/**'
         
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
       9 
     | 
    
         
            -
            # Avoid parameter lists longer than five parameters.
         
     | 
| 
       10 
     | 
    
         
            -
            ParameterLists:
         
     | 
| 
       11 
     | 
    
         
            -
              Max: 3
         
     | 
| 
       12 
     | 
    
         
            -
              CountKeywordArgs: true
         
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
            # Limit method length
         
     | 
| 
       15 
     | 
    
         
            -
            MethodLength:
         
     | 
| 
       16 
     | 
    
         
            -
              CountComments: false
         
     | 
| 
       17 
     | 
    
         
            -
              Max: 10
         
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
       19 
     | 
    
         
            -
            # Avoid more than `Max` levels of nesting.
         
     | 
| 
       20 
     | 
    
         
            -
            BlockNesting:
         
     | 
| 
       21 
     | 
    
         
            -
              Max: 3
         
     | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
       23 
     | 
    
         
            -
            # Align with the style guide.
         
     | 
| 
       24 
     | 
    
         
            -
            CollectionMethods:
         
     | 
| 
       25 
     | 
    
         
            -
              PreferredMethods:
         
     | 
| 
       26 
     | 
    
         
            -
                collect:  'map'
         
     | 
| 
       27 
     | 
    
         
            -
                inject:   'reduce'
         
     | 
| 
       28 
     | 
    
         
            -
                find:     'detect'
         
     | 
| 
       29 
     | 
    
         
            -
                find_all: 'select'
         
     | 
| 
       30 
     | 
    
         
            -
             
     | 
| 
       31 
     | 
    
         
            -
            # Do not force public/protected/private keyword to be indented at the same
         
     | 
| 
       32 
     | 
    
         
            -
            # level as the def keyword. My personal preference is to outdent these keywords
         
     | 
| 
       33 
     | 
    
         
            -
            # because I think when scanning code it makes it easier to identify the
         
     | 
| 
       34 
     | 
    
         
            -
            # sections of code and visually separate them. When the keyword is at the same
         
     | 
| 
       35 
     | 
    
         
            -
            # level I think it sort of blends in with the def keywords and makes it harder
         
     | 
| 
       36 
     | 
    
         
            -
            # to scan the code and see where the sections are.
         
     | 
| 
       37 
     | 
    
         
            -
            AccessModifierIndentation:
         
     | 
| 
       38 
     | 
    
         
            -
              Enabled: false
         
     | 
| 
       39 
     | 
    
         
            -
             
     | 
| 
       40 
     | 
    
         
            -
            # Limit line length
         
     | 
| 
       41 
     | 
    
         
            -
            LineLength:
         
     | 
| 
       42 
     | 
    
         
            -
              Max: 79
         
     | 
| 
       43 
     | 
    
         
            -
             
     | 
| 
       44 
     | 
    
         
            -
            # Disable documentation checking until a class needs to be documented once
         
     | 
| 
       45 
     | 
    
         
            -
            Documentation:
         
     | 
| 
       46 
     | 
    
         
            -
              Enabled: false
         
     | 
| 
       47 
     | 
    
         
            -
             
     | 
| 
       48 
     | 
    
         
            -
            # Do not always use &&/|| instead of and/or.
         
     | 
| 
       49 
     | 
    
         
            -
            AndOr:
         
     | 
| 
       50 
     | 
    
         
            -
              Enabled: false
         
     | 
| 
       51 
     | 
    
         
            -
             
     | 
| 
       52 
     | 
    
         
            -
            # Do not favor modifier if/unless usage when you have a single-line body
         
     | 
| 
       53 
     | 
    
         
            -
            IfUnlessModifier:
         
     | 
| 
       54 
     | 
    
         
            -
              Enabled: false
         
     | 
| 
       55 
     | 
    
         
            -
             
     | 
| 
       56 
     | 
    
         
            -
            # Allow case equality operator (in limited use within the specs)
         
     | 
| 
       57 
     | 
    
         
            -
            CaseEquality:
         
     | 
| 
       58 
     | 
    
         
            -
              Enabled: false
         
     | 
| 
       59 
     | 
    
         
            -
             
     | 
| 
       60 
     | 
    
         
            -
            # Constants do not always have to use SCREAMING_SNAKE_CASE
         
     | 
| 
       61 
     | 
    
         
            -
            ConstantName:
         
     | 
| 
       62 
     | 
    
         
            -
              Enabled: false
         
     | 
| 
       63 
     | 
    
         
            -
             
     | 
| 
       64 
     | 
    
         
            -
            # Not all trivial readers/writers can be defined with attr_* methods
         
     | 
| 
       65 
     | 
    
         
            -
            TrivialAccessors:
         
     | 
| 
       66 
     | 
    
         
            -
              Enabled: false
         
     | 
| 
       67 
     | 
    
         
            -
             
     | 
| 
       68 
     | 
    
         
            -
            # Do not prefer do/end over {} for multiline blocks
         
     | 
| 
       69 
     | 
    
         
            -
            Blocks:
         
     | 
| 
       70 
     | 
    
         
            -
              Enabled: false
         
     | 
| 
       71 
     | 
    
         
            -
             
     | 
| 
       72 
     | 
    
         
            -
            # Allow empty lines around body
         
     | 
| 
       73 
     | 
    
         
            -
            EmptyLinesAroundBody:
         
     | 
| 
       74 
     | 
    
         
            -
              Enabled: false
         
     | 
| 
       75 
     | 
    
         
            -
             
     | 
| 
       76 
     | 
    
         
            -
            # Prefer String#% over Kernel#sprintf
         
     | 
| 
       77 
     | 
    
         
            -
            FormatString:
         
     | 
| 
       78 
     | 
    
         
            -
              Enabled: false
         
     | 
| 
       79 
     | 
    
         
            -
             
     | 
| 
       80 
     | 
    
         
            -
            # Use square brackets for literal Array objects
         
     | 
| 
       81 
     | 
    
         
            -
            PercentLiteralDelimiters:
         
     | 
| 
       82 
     | 
    
         
            -
              PreferredDelimiters:
         
     | 
| 
       83 
     | 
    
         
            -
                '%':  ()
         
     | 
| 
       84 
     | 
    
         
            -
                '%i': '[]'
         
     | 
| 
       85 
     | 
    
         
            -
                '%q': ()
         
     | 
| 
       86 
     | 
    
         
            -
                '%Q': ()
         
     | 
| 
       87 
     | 
    
         
            -
                '%r': '{}'
         
     | 
| 
       88 
     | 
    
         
            -
                '%s': ()
         
     | 
| 
       89 
     | 
    
         
            -
                '%w': '[]'
         
     | 
| 
       90 
     | 
    
         
            -
                '%W': '[]'
         
     | 
| 
       91 
     | 
    
         
            -
                '%x': ()
         
     | 
    
        data/lib/devtools/platform.rb
    DELETED
    
    | 
         @@ -1,118 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            # encoding: utf-8
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            module Devtools
         
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
              # Provides methods to determine the ruby platform
         
     | 
| 
       6 
     | 
    
         
            -
              module Platform
         
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
                DEFAULT_RVM_NAME = 'mri'.freeze
         
     | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
       10 
     | 
    
         
            -
                # Return Ruby engine string
         
     | 
| 
       11 
     | 
    
         
            -
                #
         
     | 
| 
       12 
     | 
    
         
            -
                # @return [String]
         
     | 
| 
       13 
     | 
    
         
            -
                #
         
     | 
| 
       14 
     | 
    
         
            -
                # @api private
         
     | 
| 
       15 
     | 
    
         
            -
                def ruby_engine
         
     | 
| 
       16 
     | 
    
         
            -
                  @ruby_engine ||= (defined?(RUBY_ENGINE) && RUBY_ENGINE || 'ruby').freeze
         
     | 
| 
       17 
     | 
    
         
            -
                end
         
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
       19 
     | 
    
         
            -
                # Return RVM name
         
     | 
| 
       20 
     | 
    
         
            -
                #
         
     | 
| 
       21 
     | 
    
         
            -
                # @return [String]
         
     | 
| 
       22 
     | 
    
         
            -
                #
         
     | 
| 
       23 
     | 
    
         
            -
                # @api private
         
     | 
| 
       24 
     | 
    
         
            -
                def rvm_name
         
     | 
| 
       25 
     | 
    
         
            -
                  @rvm_name ||= begin
         
     | 
| 
       26 
     | 
    
         
            -
                    engine = ruby_engine
         
     | 
| 
       27 
     | 
    
         
            -
                    engine == 'ruby' ? DEFAULT_RVM_NAME : engine
         
     | 
| 
       28 
     | 
    
         
            -
                  end
         
     | 
| 
       29 
     | 
    
         
            -
                end
         
     | 
| 
       30 
     | 
    
         
            -
             
     | 
| 
       31 
     | 
    
         
            -
                # Return RVM string
         
     | 
| 
       32 
     | 
    
         
            -
                #
         
     | 
| 
       33 
     | 
    
         
            -
                # @return [String]
         
     | 
| 
       34 
     | 
    
         
            -
                #
         
     | 
| 
       35 
     | 
    
         
            -
                # @api private
         
     | 
| 
       36 
     | 
    
         
            -
                def rvm
         
     | 
| 
       37 
     | 
    
         
            -
                  @rvm ||= "#{rvm_name}-#{RUBY_VERSION}".freeze
         
     | 
| 
       38 
     | 
    
         
            -
                end
         
     | 
| 
       39 
     | 
    
         
            -
             
     | 
| 
       40 
     | 
    
         
            -
                # Test for being executed under JRuby
         
     | 
| 
       41 
     | 
    
         
            -
                #
         
     | 
| 
       42 
     | 
    
         
            -
                # @return [true]
         
     | 
| 
       43 
     | 
    
         
            -
                #   if running under JRuby
         
     | 
| 
       44 
     | 
    
         
            -
                #
         
     | 
| 
       45 
     | 
    
         
            -
                # @return [false]
         
     | 
| 
       46 
     | 
    
         
            -
                #   otherwise
         
     | 
| 
       47 
     | 
    
         
            -
                #
         
     | 
| 
       48 
     | 
    
         
            -
                # @api private
         
     | 
| 
       49 
     | 
    
         
            -
                def jruby?
         
     | 
| 
       50 
     | 
    
         
            -
                  ruby_engine == 'jruby'
         
     | 
| 
       51 
     | 
    
         
            -
                end
         
     | 
| 
       52 
     | 
    
         
            -
             
     | 
| 
       53 
     | 
    
         
            -
                # Test for being executed under rbx
         
     | 
| 
       54 
     | 
    
         
            -
                #
         
     | 
| 
       55 
     | 
    
         
            -
                # @return [true]
         
     | 
| 
       56 
     | 
    
         
            -
                #   if running under rbx
         
     | 
| 
       57 
     | 
    
         
            -
                #
         
     | 
| 
       58 
     | 
    
         
            -
                # @return [false]
         
     | 
| 
       59 
     | 
    
         
            -
                #   otherwise
         
     | 
| 
       60 
     | 
    
         
            -
                #
         
     | 
| 
       61 
     | 
    
         
            -
                # @api private
         
     | 
| 
       62 
     | 
    
         
            -
                def rbx?
         
     | 
| 
       63 
     | 
    
         
            -
                  ruby_engine == 'rbx'
         
     | 
| 
       64 
     | 
    
         
            -
                end
         
     | 
| 
       65 
     | 
    
         
            -
             
     | 
| 
       66 
     | 
    
         
            -
                # Test for being executed under rubies with a JIT
         
     | 
| 
       67 
     | 
    
         
            -
                #
         
     | 
| 
       68 
     | 
    
         
            -
                # @return [true]
         
     | 
| 
       69 
     | 
    
         
            -
                #   if running under JRuby or rbx
         
     | 
| 
       70 
     | 
    
         
            -
                #
         
     | 
| 
       71 
     | 
    
         
            -
                # @return [false]
         
     | 
| 
       72 
     | 
    
         
            -
                #   otherwise
         
     | 
| 
       73 
     | 
    
         
            -
                #
         
     | 
| 
       74 
     | 
    
         
            -
                # @api private
         
     | 
| 
       75 
     | 
    
         
            -
                def jit?
         
     | 
| 
       76 
     | 
    
         
            -
                  jruby? || rbx?
         
     | 
| 
       77 
     | 
    
         
            -
                end
         
     | 
| 
       78 
     | 
    
         
            -
             
     | 
| 
       79 
     | 
    
         
            -
                # Test for 1.8 mode
         
     | 
| 
       80 
     | 
    
         
            -
                #
         
     | 
| 
       81 
     | 
    
         
            -
                # @return [true]
         
     | 
| 
       82 
     | 
    
         
            -
                #   if running under 1.8.x
         
     | 
| 
       83 
     | 
    
         
            -
                #
         
     | 
| 
       84 
     | 
    
         
            -
                # @return [false]
         
     | 
| 
       85 
     | 
    
         
            -
                #   otherwise
         
     | 
| 
       86 
     | 
    
         
            -
                #
         
     | 
| 
       87 
     | 
    
         
            -
                # @api private
         
     | 
| 
       88 
     | 
    
         
            -
                def ruby18?
         
     | 
| 
       89 
     | 
    
         
            -
                  RUBY_VERSION.start_with?('1.8.')
         
     | 
| 
       90 
     | 
    
         
            -
                end
         
     | 
| 
       91 
     | 
    
         
            -
             
     | 
| 
       92 
     | 
    
         
            -
                # Test for 1.9 mode
         
     | 
| 
       93 
     | 
    
         
            -
                #
         
     | 
| 
       94 
     | 
    
         
            -
                # @return [true]
         
     | 
| 
       95 
     | 
    
         
            -
                #   if running under 1.9.x
         
     | 
| 
       96 
     | 
    
         
            -
                #
         
     | 
| 
       97 
     | 
    
         
            -
                # @return [false]
         
     | 
| 
       98 
     | 
    
         
            -
                #   otherwise
         
     | 
| 
       99 
     | 
    
         
            -
                #
         
     | 
| 
       100 
     | 
    
         
            -
                # @api private
         
     | 
| 
       101 
     | 
    
         
            -
                def ruby19?
         
     | 
| 
       102 
     | 
    
         
            -
                  RUBY_VERSION.start_with?('1.9.')
         
     | 
| 
       103 
     | 
    
         
            -
                end
         
     | 
| 
       104 
     | 
    
         
            -
             
     | 
| 
       105 
     | 
    
         
            -
                # Test for 2.0 mode
         
     | 
| 
       106 
     | 
    
         
            -
                #
         
     | 
| 
       107 
     | 
    
         
            -
                # @return [true]
         
     | 
| 
       108 
     | 
    
         
            -
                #   if running under 2.0.x
         
     | 
| 
       109 
     | 
    
         
            -
                #
         
     | 
| 
       110 
     | 
    
         
            -
                # @return [false]
         
     | 
| 
       111 
     | 
    
         
            -
                #   otherwise
         
     | 
| 
       112 
     | 
    
         
            -
                #
         
     | 
| 
       113 
     | 
    
         
            -
                # @api private
         
     | 
| 
       114 
     | 
    
         
            -
                def ruby20?
         
     | 
| 
       115 
     | 
    
         
            -
                  RUBY_VERSION.start_with?('2.0.')
         
     | 
| 
       116 
     | 
    
         
            -
                end
         
     | 
| 
       117 
     | 
    
         
            -
              end # module Platform
         
     | 
| 
       118 
     | 
    
         
            -
            end # module Devtools
         
     | 
    
        data/lib/devtools/site.rb
    DELETED
    
    | 
         @@ -1,41 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            # encoding: utf-8
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            module Devtools
         
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
              # Encapsulates a specific {Project} devtools is used for
         
     | 
| 
       6 
     | 
    
         
            -
              class Site
         
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
                attr_reader :root
         
     | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
       10 
     | 
    
         
            -
                attr_reader :project
         
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
       12 
     | 
    
         
            -
                def initialize(project)
         
     | 
| 
       13 
     | 
    
         
            -
                  @project = project
         
     | 
| 
       14 
     | 
    
         
            -
                  @root    = project.root
         
     | 
| 
       15 
     | 
    
         
            -
                end
         
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       17 
     | 
    
         
            -
                # Initialize project and load shared specs
         
     | 
| 
       18 
     | 
    
         
            -
                #
         
     | 
| 
       19 
     | 
    
         
            -
                # Expects to be called from $application_root/spec/spec_helper.rb
         
     | 
| 
       20 
     | 
    
         
            -
                #
         
     | 
| 
       21 
     | 
    
         
            -
                # @return [self]
         
     | 
| 
       22 
     | 
    
         
            -
                #
         
     | 
| 
       23 
     | 
    
         
            -
                # @api private
         
     | 
| 
       24 
     | 
    
         
            -
                def init_spec_helper
         
     | 
| 
       25 
     | 
    
         
            -
                  Project::Initializer::Rspec.call(project)
         
     | 
| 
       26 
     | 
    
         
            -
                  self
         
     | 
| 
       27 
     | 
    
         
            -
                end
         
     | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
     | 
    
         
            -
                # Initialize devtools using default config
         
     | 
| 
       30 
     | 
    
         
            -
                #
         
     | 
| 
       31 
     | 
    
         
            -
                # @return [undefined]
         
     | 
| 
       32 
     | 
    
         
            -
                #
         
     | 
| 
       33 
     | 
    
         
            -
                # @api private
         
     | 
| 
       34 
     | 
    
         
            -
                def init
         
     | 
| 
       35 
     | 
    
         
            -
                  Initializer.call(self)
         
     | 
| 
       36 
     | 
    
         
            -
                  puts 'Run bundle install to complete the devtools installation'
         
     | 
| 
       37 
     | 
    
         
            -
                  self
         
     | 
| 
       38 
     | 
    
         
            -
                end
         
     | 
| 
       39 
     | 
    
         
            -
             
     | 
| 
       40 
     | 
    
         
            -
              end # class Site
         
     | 
| 
       41 
     | 
    
         
            -
            end # module Devtools
         
     | 
| 
         @@ -1,57 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            # encoding: utf-8
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            module Devtools
         
     | 
| 
       4 
     | 
    
         
            -
              class Site
         
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
                # Supports initializing new projects with a Rakefile
         
     | 
| 
       7 
     | 
    
         
            -
                class Initializer
         
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
       9 
     | 
    
         
            -
                  def self.call(root)
         
     | 
| 
       10 
     | 
    
         
            -
                    new(root).call
         
     | 
| 
       11 
     | 
    
         
            -
                  end
         
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
                  attr_reader :site
         
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
                  attr_reader :root
         
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       17 
     | 
    
         
            -
                  attr_reader :config_dir
         
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
       19 
     | 
    
         
            -
                  def initialize(site)
         
     | 
| 
       20 
     | 
    
         
            -
                    @site       = site
         
     | 
| 
       21 
     | 
    
         
            -
                    @root       = site.root
         
     | 
| 
       22 
     | 
    
         
            -
                    config_dir  = @root.join(DEFAULT_CONFIG_DIR_NAME).tap(&:mkpath)
         
     | 
| 
       23 
     | 
    
         
            -
                    @config_dir = config_dir.parent
         
     | 
| 
       24 
     | 
    
         
            -
                  end
         
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
     | 
    
         
            -
                  # Init devtools using default config
         
     | 
| 
       27 
     | 
    
         
            -
                  #
         
     | 
| 
       28 
     | 
    
         
            -
                  # @return [undefined]
         
     | 
| 
       29 
     | 
    
         
            -
                  #
         
     | 
| 
       30 
     | 
    
         
            -
                  # @api public
         
     | 
| 
       31 
     | 
    
         
            -
                  def call
         
     | 
| 
       32 
     | 
    
         
            -
                    FileUtils.cp_r(DEFAULT_CONFIG_PATH, config_dir)
         
     | 
| 
       33 
     | 
    
         
            -
             
     | 
| 
       34 
     | 
    
         
            -
                    site.sync
         
     | 
| 
       35 
     | 
    
         
            -
                    init_rakefile
         
     | 
| 
       36 
     | 
    
         
            -
             
     | 
| 
       37 
     | 
    
         
            -
                    self
         
     | 
| 
       38 
     | 
    
         
            -
                  end
         
     | 
| 
       39 
     | 
    
         
            -
             
     | 
| 
       40 
     | 
    
         
            -
                  private
         
     | 
| 
       41 
     | 
    
         
            -
             
     | 
| 
       42 
     | 
    
         
            -
                  # Initialize the Rakefile
         
     | 
| 
       43 
     | 
    
         
            -
                  #
         
     | 
| 
       44 
     | 
    
         
            -
                  # @return [undefined]
         
     | 
| 
       45 
     | 
    
         
            -
                  #
         
     | 
| 
       46 
     | 
    
         
            -
                  # @api private
         
     | 
| 
       47 
     | 
    
         
            -
                  def init_rakefile
         
     | 
| 
       48 
     | 
    
         
            -
                    rakefile = root.join(RAKE_FILE_NAME)
         
     | 
| 
       49 
     | 
    
         
            -
                    return if rakefile.file? && rakefile.read.include?(INIT_RAKE_TASKS)
         
     | 
| 
       50 
     | 
    
         
            -
                    rakefile.open('a') do |file|
         
     | 
| 
       51 
     | 
    
         
            -
                      file << ANNOTATION_WRAPPER % [REQUIRE, INIT_RAKE_TASKS].join("\n")
         
     | 
| 
       52 
     | 
    
         
            -
                    end
         
     | 
| 
       53 
     | 
    
         
            -
                  end
         
     | 
| 
       54 
     | 
    
         
            -
             
     | 
| 
       55 
     | 
    
         
            -
                end # class Initializer
         
     | 
| 
       56 
     | 
    
         
            -
              end # class Site
         
     | 
| 
       57 
     | 
    
         
            -
            end # module Devtools
         
     |