keepassx 1.0.0 → 1.1.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4db73a09546a08ab55cb858af6633140b1330b29512f67b2fc535dfc7faa497d
4
- data.tar.gz: 07ce161d5e70797499e7fc91c16ad6e4155e39ec38088ea615ca4e1adddf35e7
3
+ metadata.gz: 945653f35de55b69816fd7a44a8fb29503ca416421aae21983b99857c0cec77e
4
+ data.tar.gz: f2f25e59e94c62177fe91745936307c273bf5295dcfbbf8625629013e09d679a
5
5
  SHA512:
6
- metadata.gz: 8b02a38627723697feda5d948e8a678840a4fbfefe035da2b53ce745bc4041ee3b18d933cefa313943a5710b30d5162b1a4037c13eb00ce6db9fb6127c361d71
7
- data.tar.gz: b5724c17a5f53249ce6a54e48fbe99f9d4282ed017ce15b12ea4174afa5d7e4abef05096280bd7020afb948b881e3135b929b6e85ed4483a5167ceff0d4ac706
6
+ metadata.gz: ef0e360a5c586f67510b795031d29fc6f9d4d9744364e68affe7ca5ad56e485a7dae14c18795b175f1b8f457c523e593ce2b67598af0befe79b8a47f2beb1986
7
+ data.tar.gz: 978a3be71d215349828300832a47e795afad02140056fee41e3ff89c34e1bf3932c6e31cca655f144a971ad9a4435abe86b078ea0e7091ef0312178d7f788c5c
@@ -1,12 +1,13 @@
1
1
  AllCops:
2
- TargetRubyVersion: 2.6
2
+ TargetRubyVersion: 2.5
3
3
  Exclude:
4
+ - bin/*
4
5
  - spec/**/*
5
6
 
6
- Documentation:
7
+ Style/Documentation:
7
8
  Enabled: false
8
9
 
9
- Layout/AlignHash:
10
+ Layout/HashAlignment:
10
11
  Enabled: false
11
12
 
12
13
  Layout/EmptyLines:
@@ -25,12 +26,12 @@ Layout/EmptyLineBetweenDefs:
25
26
  Enabled: false
26
27
 
27
28
  Layout/IndentationConsistency:
28
- EnforcedStyle: rails
29
+ EnforcedStyle: indented_internal_methods
29
30
 
30
- Metrics/AbcSize:
31
+ Layout/LineLength:
31
32
  Enabled: false
32
33
 
33
- Metrics/LineLength:
34
+ Metrics/AbcSize:
34
35
  Enabled: false
35
36
 
36
37
  Metrics/MethodLength:
@@ -1,14 +1,12 @@
1
+ ---
2
+ os: linux
3
+ dist: xenial
4
+
1
5
  language: ruby
2
6
  cache: bundler
3
- sudo: false
4
7
  rvm:
5
- - 2.6.5
6
- - 2.5.7
7
- - 2.4.9
8
- - 2.3.8
9
- - jruby-9.2.8.0
10
- before_install:
11
- - gem update --system
12
- - gem install bundler --no-document
13
- after_success:
14
- - bundle exec codeclimate-test-reporter
8
+ - 2.7.1
9
+ - 2.6.6
10
+ - 2.5.8
11
+ - ruby-head
12
+ - jruby-9.2.11.0
data/Gemfile CHANGED
@@ -3,5 +3,3 @@
3
3
  source 'https://rubygems.org'
4
4
 
5
5
  gemspec
6
-
7
- gem 'codeclimate-test-reporter', group: :test, require: false
data/README.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  [![GitHub license](https://img.shields.io/github/license/pitluga/keepassx.svg)](https://github.com/pitluga/keepassx/blob/master/LICENSE)
4
4
  [![GitHub release](https://img.shields.io/github/release/pitluga/keepassx.svg)](https://github.com/pitluga/keepassx/releases/latest)
5
+ [![Gem](https://img.shields.io/gem/v/keepassx.svg)](https://rubygems.org/gems/keepassx)
6
+ [![Gem](https://img.shields.io/gem/dtv/keepassx.svg)](https://rubygems.org/gems/keepassx)
5
7
  [![Build Status](https://travis-ci.org/pitluga/keepassx.svg?branch=master)](https://travis-ci.org/pitluga/keepassx)
6
8
 
7
9
  ### A Ruby library to read and write [KeePassX](http://www.keepassx.org/) databases.
data/Rakefile CHANGED
@@ -1,6 +1,15 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'bundler/gem_tasks'
3
4
  require 'rspec/core/rake_task'
4
5
 
5
6
  RSpec::Core::RakeTask.new(:spec)
6
7
  task default: :spec
8
+
9
+ task :console do
10
+ require 'pry'
11
+ require 'keepassx'
12
+ puts 'Loaded KeepassX'
13
+ ARGV.clear
14
+ Pry.start
15
+ end
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ #
5
+ # This file was generated by Bundler.
6
+ #
7
+ # The application '_guard-core' is installed as part of a gem, and
8
+ # this file is here to facilitate running it.
9
+ #
10
+
11
+ require "pathname"
12
+ ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
13
+ Pathname.new(__FILE__).realpath)
14
+
15
+ bundle_binstub = File.expand_path("../bundle", __FILE__)
16
+
17
+ if File.file?(bundle_binstub)
18
+ if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
19
+ load(bundle_binstub)
20
+ else
21
+ abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
22
+ Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
23
+ end
24
+ end
25
+
26
+ require "rubygems"
27
+ require "bundler/setup"
28
+
29
+ load Gem.bin_path("guard", "_guard-core")
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ #
5
+ # This file was generated by Bundler.
6
+ #
7
+ # The application 'guard' is installed as part of a gem, and
8
+ # this file is here to facilitate running it.
9
+ #
10
+
11
+ require "pathname"
12
+ ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
13
+ Pathname.new(__FILE__).realpath)
14
+
15
+ bundle_binstub = File.expand_path("../bundle", __FILE__)
16
+
17
+ if File.file?(bundle_binstub)
18
+ if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
19
+ load(bundle_binstub)
20
+ else
21
+ abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
22
+ Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
23
+ end
24
+ end
25
+
26
+ require "rubygems"
27
+ require "bundler/setup"
28
+
29
+ load Gem.bin_path("guard", "guard")
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ #
5
+ # This file was generated by Bundler.
6
+ #
7
+ # The application 'rake' is installed as part of a gem, and
8
+ # this file is here to facilitate running it.
9
+ #
10
+
11
+ require "pathname"
12
+ ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
13
+ Pathname.new(__FILE__).realpath)
14
+
15
+ bundle_binstub = File.expand_path("../bundle", __FILE__)
16
+
17
+ if File.file?(bundle_binstub)
18
+ if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
19
+ load(bundle_binstub)
20
+ else
21
+ abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
22
+ Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
23
+ end
24
+ end
25
+
26
+ require "rubygems"
27
+ require "bundler/setup"
28
+
29
+ load Gem.bin_path("rake", "rake")
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ #
5
+ # This file was generated by Bundler.
6
+ #
7
+ # The application 'rspec' is installed as part of a gem, and
8
+ # this file is here to facilitate running it.
9
+ #
10
+
11
+ require "pathname"
12
+ ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
13
+ Pathname.new(__FILE__).realpath)
14
+
15
+ bundle_binstub = File.expand_path("../bundle", __FILE__)
16
+
17
+ if File.file?(bundle_binstub)
18
+ if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
19
+ load(bundle_binstub)
20
+ else
21
+ abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
22
+ Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
23
+ end
24
+ end
25
+
26
+ require "rubygems"
27
+ require "bundler/setup"
28
+
29
+ load Gem.bin_path("rspec-core", "rspec")
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ #
5
+ # This file was generated by Bundler.
6
+ #
7
+ # The application 'rubocop' is installed as part of a gem, and
8
+ # this file is here to facilitate running it.
9
+ #
10
+
11
+ require "pathname"
12
+ ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
13
+ Pathname.new(__FILE__).realpath)
14
+
15
+ bundle_binstub = File.expand_path("../bundle", __FILE__)
16
+
17
+ if File.file?(bundle_binstub)
18
+ if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
19
+ load(bundle_binstub)
20
+ else
21
+ abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
22
+ Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
23
+ end
24
+ end
25
+
26
+ require "rubygems"
27
+ require "bundler/setup"
28
+
29
+ load Gem.bin_path("rubocop", "rubocop")
@@ -4,7 +4,7 @@ require_relative 'lib/keepassx/version'
4
4
 
5
5
  Gem::Specification.new do |s|
6
6
  s.name = 'keepassx'
7
- s.version = Keepassx::VERSION
7
+ s.version = Keepassx::VERSION::STRING
8
8
  s.authors = ['Tony Pitluga', 'Paul Hinze']
9
9
  s.email = ['tony.pitluga@gmail.com', 'paul.t.hinze@gmail.com']
10
10
  s.homepage = 'http://github.com/pitluga/keepassx'
@@ -12,13 +12,17 @@ Gem::Specification.new do |s|
12
12
  s.description = 'See http://github.com/pitluga/keepassx'
13
13
  s.license = 'MIT'
14
14
 
15
+ s.required_ruby_version = '>= 2.5.0'
16
+
15
17
  s.files = `git ls-files`.split("\n")
16
18
 
19
+ s.add_runtime_dependency 'zeitwerk'
20
+
17
21
  s.add_development_dependency 'factory_bot'
18
- s.add_development_dependency 'guard'
19
22
  s.add_development_dependency 'guard-rspec'
20
- s.add_development_dependency 'rake', '~> 10.4'
23
+ s.add_development_dependency 'rake'
21
24
  s.add_development_dependency 'respect'
22
25
  s.add_development_dependency 'rspec'
23
- s.add_development_dependency 'simplecov'
26
+ s.add_development_dependency 'rubocop'
27
+ s.add_development_dependency 'simplecov', '~> 0.17.1'
24
28
  end
@@ -7,18 +7,10 @@ require 'securerandom'
7
7
  require 'digest/sha2'
8
8
  require 'yaml'
9
9
 
10
- require 'keepassx/database/dumper'
11
- require 'keepassx/database/loader'
12
- require 'keepassx/database/finder'
13
- require 'keepassx/database'
14
- require 'keepassx/field/base'
15
- require 'keepassx/field/entry'
16
- require 'keepassx/field/group'
17
- require 'keepassx/fieldable'
18
- require 'keepassx/entry'
19
- require 'keepassx/group'
20
- require 'keepassx/header'
21
- require 'keepassx/aes_crypt'
10
+ require 'zeitwerk'
11
+ loader = Zeitwerk::Loader.for_gem
12
+ loader.inflector.inflect 'aes_crypt' => 'AESCrypt'
13
+ loader.setup
22
14
 
23
15
  module Keepassx
24
16
  class << self
@@ -4,7 +4,7 @@ module Keepassx
4
4
  module AESCrypt
5
5
  module_function
6
6
 
7
- # rubocop:disable Naming/UncommunicativeMethodParamName
7
+ # rubocop:disable Naming/MethodParameterName
8
8
  def decrypt(encrypted_data, key, iv, cipher_type)
9
9
  aes = OpenSSL::Cipher.new(cipher_type)
10
10
  aes.decrypt
@@ -12,10 +12,10 @@ module Keepassx
12
12
  aes.iv = iv unless iv.nil?
13
13
  aes.update(encrypted_data) + aes.final
14
14
  end
15
- # rubocop:enable Naming/UncommunicativeMethodParamName
15
+ # rubocop:enable Naming/MethodParameterName
16
16
 
17
17
 
18
- # rubocop:disable Naming/UncommunicativeMethodParamName
18
+ # rubocop:disable Naming/MethodParameterName
19
19
  def encrypt(data, key, iv, cipher_type)
20
20
  aes = OpenSSL::Cipher.new(cipher_type)
21
21
  aes.encrypt
@@ -23,7 +23,7 @@ module Keepassx
23
23
  aes.iv = iv unless iv.nil?
24
24
  aes.update(data) + aes.final
25
25
  end
26
- # rubocop:enable Naming/UncommunicativeMethodParamName
26
+ # rubocop:enable Naming/MethodParameterName
27
27
 
28
28
  end
29
29
  end
@@ -150,12 +150,12 @@ module Keepassx
150
150
 
151
151
 
152
152
  def decrypt_payload(payload, final_key)
153
- AESCrypt.decrypt(payload, final_key, header.encryption_iv, 'AES-256-CBC')
153
+ Keepassx::AESCrypt.decrypt(payload, final_key, header.encryption_iv, 'AES-256-CBC')
154
154
  end
155
155
 
156
156
 
157
157
  def encrypt_payload(payload, final_key)
158
- AESCrypt.encrypt(payload, final_key, header.encryption_iv, 'AES-256-CBC')
158
+ Keepassx::AESCrypt.encrypt(payload, final_key, header.encryption_iv, 'AES-256-CBC')
159
159
  end
160
160
 
161
161
 
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Keepassx
4
+ module Field
5
+ end
6
+ end
@@ -81,12 +81,12 @@ module Keepassx
81
81
  private
82
82
 
83
83
 
84
- # rubocop:disable Style/UnneededInterpolation
84
+ # rubocop:disable Style/RedundantInterpolation
85
85
  def set_export_import_methods(type)
86
86
  @export_method = "#{type}".to_sym
87
87
  @import_method = "#{type}=".to_sym
88
88
  end
89
- # rubocop:enable Style/UnneededInterpolation
89
+ # rubocop:enable Style/RedundantInterpolation
90
90
 
91
91
 
92
92
  ### EXPORT METHODS
@@ -107,18 +107,18 @@ module Keepassx
107
107
 
108
108
 
109
109
  def int
110
- @data.unpack('I')[0]
110
+ @data.unpack1('I')
111
111
  end
112
112
 
113
113
 
114
114
  def short
115
- @data.unpack('S')[0]
115
+ @data.unpack1('S')
116
116
  end
117
117
 
118
118
 
119
119
  def ascii
120
120
  # TODO: Add spec
121
- @data.unpack('H*')[0]
121
+ @data.unpack1('H*')
122
122
  end
123
123
 
124
124
 
@@ -137,11 +137,9 @@ module Keepassx
137
137
 
138
138
  ### IMPORT METHODS
139
139
 
140
- # rubocop:disable Naming/UncommunicativeMethodParamName
141
140
  def null=(_)
142
141
  @data = nil
143
142
  end
144
- # rubocop:enable Naming/UncommunicativeMethodParamName
145
143
 
146
144
 
147
145
  def shunt=(value)
@@ -69,17 +69,17 @@ module Keepassx
69
69
  @rounds = 50_000
70
70
  else
71
71
  header_bytes = StringIO.new(header_bytes)
72
- @signature1 = header_bytes.read(4).unpack('L*').first
73
- @signature2 = header_bytes.read(4).unpack('L*').first
74
- @flags = header_bytes.read(4).unpack('L*').first
75
- @version = header_bytes.read(4).unpack('L*').first
72
+ @signature1 = header_bytes.read(4).unpack1('L*')
73
+ @signature2 = header_bytes.read(4).unpack1('L*')
74
+ @flags = header_bytes.read(4).unpack1('L*')
75
+ @version = header_bytes.read(4).unpack1('L*')
76
76
  @master_seed = header_bytes.read(16)
77
77
  @encryption_iv = header_bytes.read(16)
78
- @groups_count = header_bytes.read(4).unpack('L*').first
79
- @entries_count = header_bytes.read(4).unpack('L*').first
78
+ @groups_count = header_bytes.read(4).unpack1('L*')
79
+ @entries_count = header_bytes.read(4).unpack1('L*')
80
80
  @content_hash = header_bytes.read(32)
81
81
  @master_seed2 = header_bytes.read(32)
82
- @rounds = header_bytes.read(4).unpack('L*').first
82
+ @rounds = header_bytes.read(4).unpack1('L*')
83
83
  end
84
84
  end
85
85
  # rubocop:enable Metrics/MethodLength
@@ -1,5 +1,17 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Keepassx
4
- VERSION = '1.0.0'
4
+
5
+ def self.gem_version
6
+ Gem::Version.new VERSION::STRING
7
+ end
8
+
9
+ module VERSION
10
+ MAJOR = 1
11
+ MINOR = 1
12
+ TINY = 0
13
+ PRE = nil
14
+
15
+ STRING = [MAJOR, MINOR, TINY, PRE].compact.join('.')
16
+ end
5
17
  end
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Keepassx::Database do
3
+ RSpec.describe Keepassx::Database do
4
4
 
5
5
  GROUPS_COUNT = 5
6
6
  ENTRIES_COUNT = 5
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Keepassx::Entry do
3
+ RSpec.describe Keepassx::Entry do
4
4
 
5
5
  let :entry_schema do
6
6
  Respect::HashSchema.define do |s|
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Keepassx::Group do
3
+ RSpec.describe Keepassx::Group do
4
4
 
5
5
  let :group_schema do
6
6
  Respect::HashSchema.define do |s|
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Keepassx do
3
+ RSpec.describe Keepassx do
4
4
 
5
5
  describe '.new' do
6
6
  it 'should allow creation of database from scratch' do
@@ -5,7 +5,7 @@ require 'factory_bot'
5
5
 
6
6
  # Start Simplecov
7
7
  SimpleCov.start do
8
- add_filter '/spec/'
8
+ add_filter 'spec/'
9
9
  end
10
10
 
11
11
  # Configure RSpec
@@ -21,30 +21,17 @@ RSpec.configure do |config|
21
21
  config.expect_with :rspec do |c|
22
22
  c.syntax = :expect
23
23
  end
24
- end
25
-
26
- # Load lib
27
- require 'keepassx'
28
- require_relative 'factories'
29
-
30
- FIXTURE_PATH = File.expand_path File.join(File.dirname(__FILE__), 'fixtures')
31
- TEST_DATABASE_PATH = File.join(FIXTURE_PATH, 'database_test.kdb')
32
- EMPTY_DATABASE_PATH = File.join(FIXTURE_PATH, 'database_empty.kdb')
33
- KEYFILE_DATABASE_PATH = File.join(FIXTURE_PATH, 'database_with_key.kdb')
34
24
 
25
+ # disable monkey patching
26
+ # see: https://relishapp.com/rspec/rspec-core/v/3-8/docs/configuration/zero-monkey-patching-mode
27
+ config.disable_monkey_patching!
28
+ end
35
29
 
30
+ # Configure/Patch Respect
36
31
  module RespectPatch
37
- def self.included(base)
38
- base.send(:prepend, InstanceMethods)
39
- end
40
-
41
- module InstanceMethods
42
-
43
- def validate_uuid(uuid)
44
- return true if uuid =~ /\A[0-9a-f]{32}\z/i
45
- raise Respect::ValidationError, "invalid UUID"
46
- end
47
-
32
+ def validate_uuid(uuid)
33
+ return true if uuid =~ /\A[0-9a-f]{32}\z/i
34
+ raise Respect::ValidationError, "invalid UUID"
48
35
  end
49
36
  end
50
37
 
@@ -54,8 +41,17 @@ module UUIDValidator
54
41
  end
55
42
  end
56
43
 
57
- unless Respect::FormatValidator.included_modules.include?(RespectPatch)
58
- Respect::FormatValidator.send(:include, RespectPatch)
59
- end
60
-
44
+ Respect::FormatValidator.prepend(RespectPatch)
61
45
  Respect.extend_dsl_with(UUIDValidator)
46
+
47
+ # Load factories
48
+ require_relative 'support/factories'
49
+
50
+ # Declare some constants used during tests
51
+ FIXTURE_PATH = File.expand_path File.join(File.dirname(__FILE__), 'fixtures')
52
+ TEST_DATABASE_PATH = File.join(FIXTURE_PATH, 'database_test.kdb')
53
+ EMPTY_DATABASE_PATH = File.join(FIXTURE_PATH, 'database_empty.kdb')
54
+ KEYFILE_DATABASE_PATH = File.join(FIXTURE_PATH, 'database_with_key.kdb')
55
+
56
+ # Load lib
57
+ require 'keepassx'
@@ -1,6 +1,6 @@
1
1
  FactoryBot.define do
2
2
 
3
- factory :group, class: Keepassx::Group do
3
+ factory :group, class: 'Keepassx::Group' do
4
4
  id { 1 }
5
5
  name { 'test_group' }
6
6
  icon { 20 }
@@ -8,7 +8,7 @@ FactoryBot.define do
8
8
  initialize_with { new(attributes) }
9
9
  end
10
10
 
11
- factory :entry, class: Keepassx::Entry do
11
+ factory :entry, class: 'Keepassx::Entry' do
12
12
  name { 'test_entry' }
13
13
  group { build(:group) }
14
14
  username { 'test' }
metadata CHANGED
@@ -1,24 +1,24 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: keepassx
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tony Pitluga
8
8
  - Paul Hinze
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-10-25 00:00:00.000000000 Z
12
+ date: 2020-08-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: factory_bot
15
+ name: zeitwerk
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
18
  - - ">="
19
19
  - !ruby/object:Gem::Version
20
20
  version: '0'
21
- type: :development
21
+ type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
@@ -26,7 +26,7 @@ dependencies:
26
26
  - !ruby/object:Gem::Version
27
27
  version: '0'
28
28
  - !ruby/object:Gem::Dependency
29
- name: guard
29
+ name: factory_bot
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - ">="
@@ -57,16 +57,16 @@ dependencies:
57
57
  name: rake
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - "~>"
60
+ - - ">="
61
61
  - !ruby/object:Gem::Version
62
- version: '10.4'
62
+ version: '0'
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - "~>"
67
+ - - ">="
68
68
  - !ruby/object:Gem::Version
69
- version: '10.4'
69
+ version: '0'
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: respect
72
72
  requirement: !ruby/object:Gem::Requirement
@@ -96,7 +96,7 @@ dependencies:
96
96
  - !ruby/object:Gem::Version
97
97
  version: '0'
98
98
  - !ruby/object:Gem::Dependency
99
- name: simplecov
99
+ name: rubocop
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
102
  - - ">="
@@ -109,6 +109,20 @@ dependencies:
109
109
  - - ">="
110
110
  - !ruby/object:Gem::Version
111
111
  version: '0'
112
+ - !ruby/object:Gem::Dependency
113
+ name: simplecov
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - "~>"
117
+ - !ruby/object:Gem::Version
118
+ version: 0.17.1
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - "~>"
124
+ - !ruby/object:Gem::Version
125
+ version: 0.17.1
112
126
  description: See http://github.com/pitluga/keepassx
113
127
  email:
114
128
  - tony.pitluga@gmail.com
@@ -126,6 +140,11 @@ files:
126
140
  - LICENSE
127
141
  - README.md
128
142
  - Rakefile
143
+ - bin/_guard-core
144
+ - bin/guard
145
+ - bin/rake
146
+ - bin/rspec
147
+ - bin/rubocop
129
148
  - keepassx.gemspec
130
149
  - lib/keepassx.rb
131
150
  - lib/keepassx/aes_crypt.rb
@@ -134,6 +153,7 @@ files:
134
153
  - lib/keepassx/database/finder.rb
135
154
  - lib/keepassx/database/loader.rb
136
155
  - lib/keepassx/entry.rb
156
+ - lib/keepassx/field.rb
137
157
  - lib/keepassx/field/base.rb
138
158
  - lib/keepassx/field/entry.rb
139
159
  - lib/keepassx/field/group.rb
@@ -142,7 +162,6 @@ files:
142
162
  - lib/keepassx/hashable_payload.rb
143
163
  - lib/keepassx/header.rb
144
164
  - lib/keepassx/version.rb
145
- - spec/factories.rb
146
165
  - spec/fixtures/database_empty.kdb
147
166
  - spec/fixtures/database_test.kdb
148
167
  - spec/fixtures/database_test_dumped.yml
@@ -154,13 +173,14 @@ files:
154
173
  - spec/keepassx/database_spec.rb
155
174
  - spec/keepassx/entry_spec.rb
156
175
  - spec/keepassx/group_spec.rb
157
- - spec/keepassx_spec.rb
176
+ - spec/keepassx/keepassx_spec.rb
158
177
  - spec/spec_helper.rb
178
+ - spec/support/factories.rb
159
179
  homepage: http://github.com/pitluga/keepassx
160
180
  licenses:
161
181
  - MIT
162
182
  metadata: {}
163
- post_install_message:
183
+ post_install_message:
164
184
  rdoc_options: []
165
185
  require_paths:
166
186
  - lib
@@ -168,15 +188,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
168
188
  requirements:
169
189
  - - ">="
170
190
  - !ruby/object:Gem::Version
171
- version: '0'
191
+ version: 2.5.0
172
192
  required_rubygems_version: !ruby/object:Gem::Requirement
173
193
  requirements:
174
194
  - - ">="
175
195
  - !ruby/object:Gem::Version
176
196
  version: '0'
177
197
  requirements: []
178
- rubygems_version: 3.0.3
179
- signing_key:
198
+ rubygems_version: 3.1.2
199
+ signing_key:
180
200
  specification_version: 4
181
201
  summary: Ruby API access for KeePassX databases
182
202
  test_files: []