NARKOZ / gitlab

Ruby wrapper and CLI for the GitLab REST API

Home Page:https://narkoz.github.io/gitlab

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

WARNING: Please convert ObjectifiedHash object to hash

Baltazardoung opened this issue · comments

With the v 4.16.1 (#574 (comment)), we have lot of warning in our new CI :

WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.

We use docker image base on danger/danger#1110 (comment) with this Dangerfile :

SHARED_FILES = [
 'src/www/.htaccess',
 'src/www/.htpasswd',
 'src/www/include/config.php',
 'src/www/include/config_module_admin.php',
].freeze

TARGET_BRANCH = gitlab.mr_json['target_branch']

LABEL_SHARED_CHANGES='⚠ DEPLOY : Configurations à mettre à jour'.freeze
LABEL_PREVIOUS_SHARED_CHANGES='📖 DEPLOY : Autres configurations à propager'.freeze

def all_changed_files
  Set.new
    .merge(git.added_files.to_a)
    .merge(git.modified_files.to_a)
    .merge(git.renamed_files.map { |x| x[:after] })
    .subtract(git.renamed_files.map { |x| x[:before] })
    .to_a
    .sort
end

def environments_last_deployed_by_branch(branch)
  deployed = []
  environments = gitlab.api.environments(gitlab.mr_json['project_id'])
  environments.each do |gitlab_env|
    environment = gitlab.api.environment(gitlab.mr_json['project_id'], gitlab_env['id'])
    if environment["state"] == "available" && ! environment['last_deployment'].nil?
      deployed_env = {
        'name' => gitlab_env['name'],
        'ref'  => environment["last_deployment"]["ref"],
        'sha'  => environment["last_deployment"]["sha"],
      }
      deployed << deployed_env if environment["last_deployment"]["ref"] == branch
    end
  end
  deployed
end

def changed_shared_files(files)
  shared_files = []
  files.each do |file|
    match = SHARED_FILES.any? do |pattern|
      file.eql?(pattern)
    end
    shared_files << file if match
  end
  shared_files
end

def shared_gitlab_diffs(from, to)
  shared_diffs = []
  gitlab_compare = gitlab.api.compare(gitlab.mr_json['project_id'], from, to)
  unless gitlab_compare.nil?
    gitlab_compare['diffs'].each do |gitlab_diff|
      match = SHARED_FILES.any? do |pattern|
        gitlab_diff['new_path'].eql?(pattern)
      end
      shared_diffs << gitlab_diff if match
    end
  end
  shared_diffs
end

deployable_environments = environments_last_deployed_by_branch(TARGET_BRANCH)
shared_to_deploy = changed_shared_files(all_changed_files)

if  ! deployable_environments.empty? && ! shared_to_deploy.empty?
  unless gitlab.mr_labels.include?(LABEL_SHARED_CHANGES)
    gitlab.mr_labels << LABEL_SHARED_CHANGES
    gitlab.api.update_merge_request(gitlab.mr_json['project_id'],
                                    gitlab.mr_json['iid'],
                                    labels: gitlab.mr_labels.join(','))
  end
  warn "Fichiers non pris en charge lors des déploiements de cette demande de fusion sur le ou les environnements ci-dessous :\n * " +
    deployable_environments.map { |env| "**`#{ env['name'] }`**"}.join("\n* ")
  markdown(<<~MARKDOWN.strip)

## ⚠ Fichiers non pris en charge lors des déploiements

Certains fichiers modifiés dans cette demande de fusion ne sont pas pris en charge lors du déploiement sur le ou les environnements ci-dessous :

* #{ deployable_environments.map { |env| "**`#{ env['name'] }`**"}.join("\n* ") }

Il est nécessaire d'apporter les modifications sur ces fichiers avant de déclencher un déploiement.

### #{shared_to_deploy.map { |path| "#{gitlab.html_link(path)}

```diff
#{ git.diff_for_file(path).patch }
```"}.join("\n### ")}
  MARKDOWN
elsif gitlab.mr_labels.include?(LABEL_SHARED_CHANGES)
  gitlab.mr_labels.delete(LABEL_SHARED_CHANGES)
  gitlab.api.update_merge_request(gitlab.mr_json['project_id'],
                                  gitlab.mr_json['iid'],
                                  labels: gitlab.mr_labels.join(','))
end

previous_shared_changes_exists=false
deployable_environments.each do |env|
  env_diffs_on_shared = shared_gitlab_diffs(env['sha'], TARGET_BRANCH)
  unless env_diffs_on_shared.empty?
    previous_shared_changes_exists=true
    unless gitlab.mr_labels.include?(LABEL_PREVIOUS_SHARED_CHANGES)
      gitlab.mr_labels << LABEL_PREVIOUS_SHARED_CHANGES
      gitlab.api.update_merge_request(gitlab.mr_json['project_id'],
                                      gitlab.mr_json['iid'],
                                      labels: gitlab.mr_labels.join(','))
    end
    message "**`#{ env['name'] }`** : Autres modifications à propager sur l'environnement"
    markdown(<<~MARKDOWN.strip)
## 📖 `#{ env['name'] }` : Autres modifications à propager

Au delà de cette demande de fusion, la branche `#{ TARGET_BRANCH }` comporte des modifications qui n'ont pas encore été déployées sur l'environnement `#{ env['name'] }`.

Parmi ces modifications, celles référencées ci-dessous ne seront pas prise en charge automatiquement et doivent faire l'objet d'une mise à jour manuelle.

### #{env_diffs_on_shared.map { |diff| "`#{diff['new_path']}`

```diff
#{ diff['diff'] }
```"}.join("\n### ")}
    MARKDOWN
  end
end

if ! previous_shared_changes_exists && gitlab.mr_labels.include?(LABEL_PREVIOUS_SHARED_CHANGES)
  gitlab.mr_labels.delete(LABEL_PREVIOUS_SHARED_CHANGES)
  gitlab.api.update_merge_request(gitlab.mr_json['project_id'],
                                  gitlab.mr_json['iid'],
                                  labels: gitlab.mr_labels.join(','))
end

I am not a ruby expert but is the insertion of this "warning" really necessary? and if not, wouldn't it be a bug ?

PS : I find same warning in gitlab.com/gitlab-org/gitlab CI :

ping @rymai

I have same warning with a single Dangerfile who do nothing :

markdown("ok test")

So, i builded a custom image with this Dockerfile :

FROM ruby:2.6-buster

ENV LC_ALL "C.UTF-8"

RUN apt-get update \
    && apt-get install -y git \
    && rm -rf /var/lib/apt/lists/* \
    && gem install danger-gitlab --no-document \
    && git version \
    && echo "Danger version " $(danger --version) 

who produces :

Step 1/3 : FROM ruby:2.6-buster
 2.6-buster: Pulling from library/ruby
 31dd5ebca5ef: Pulling fs layer
 3ed641c4ae98: Pulling fs layer
 bcd57146431e: Pulling fs layer
 ac34a4d7c330: Pulling fs layer
 3b0a7e6f20fb: Pulling fs layer
 9b92c6962c60: Pulling fs layer
 d408c3fe0ace: Pulling fs layer
 33709fa0814b: Pulling fs layer
 3b0a7e6f20fb: Waiting
 9b92c6962c60: Waiting
 d408c3fe0ace: Waiting
 33709fa0814b: Waiting
 ac34a4d7c330: Waiting
 3ed641c4ae98: Verifying Checksum
 3ed641c4ae98: Download complete
 bcd57146431e: Verifying Checksum
 bcd57146431e: Download complete
 31dd5ebca5ef: Verifying Checksum
 31dd5ebca5ef: Download complete
 9b92c6962c60: Verifying Checksum
 9b92c6962c60: Download complete
 ac34a4d7c330: Verifying Checksum
 ac34a4d7c330: Download complete
 33709fa0814b: Verifying Checksum
 33709fa0814b: Download complete
 d408c3fe0ace: Verifying Checksum
 d408c3fe0ace: Download complete
 31dd5ebca5ef: Pull complete
 3b0a7e6f20fb: Verifying Checksum
 3b0a7e6f20fb: Download complete
 3ed641c4ae98: Pull complete
 bcd57146431e: Pull complete
 ac34a4d7c330: Pull complete
 3b0a7e6f20fb: Pull complete
 9b92c6962c60: Pull complete
 d408c3fe0ace: Pull complete
 33709fa0814b: Pull complete
 Digest: sha256:a161118f20305d54ecc0213a03156f45f7b8f498bbd8de37958e5808fbb830f7
 Status: Downloaded newer image for ruby:2.6-buster
  ---> b1dda68889ac
 Step 2/3 : ENV LC_ALL "C.UTF-8"
  ---> Running in 79bc2b536e7b
 Removing intermediate container 79bc2b536e7b
  ---> 101dc2224bd6
 Step 3/3 : RUN apt-get update     && apt-get install -y git     && rm -rf /var/lib/apt/lists/*     && gem install danger-gitlab --no-document     && git version     && echo "Danger version " $(danger --version)
  ---> Running in 90028767a09d
 Get:1 http://deb.debian.org/debian buster InRelease [121 kB]
 Get:2 http://security.debian.org/debian-security buster/updates InRelease [65.4 kB]
 Get:3 http://deb.debian.org/debian buster-updates InRelease [51.9 kB]
 Get:4 http://security.debian.org/debian-security buster/updates/main amd64 Packages [217 kB]
 Get:5 http://deb.debian.org/debian buster/main amd64 Packages [7905 kB]
 Get:6 http://deb.debian.org/debian buster-updates/main amd64 Packages [7868 B]
 Fetched 8369 kB in 2s (3601 kB/s)
 Reading package lists...
 Reading package lists...
 Building dependency tree...
 Reading state information...
 git is already the newest version (1:2.20.1-2+deb10u3).
 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
 Successfully installed claide-1.0.3
 Successfully installed open4-1.3.4
 Successfully installed colored2-3.1.2
 Successfully installed cork-0.3.0
 Successfully installed nap-1.1.0
 Successfully installed claide-plugins-0.9.2
 Successfully installed rchardet-1.8.0
 Successfully installed git-1.7.0
 Successfully installed multipart-post-2.1.1
 Successfully installed faraday-1.0.1
 Successfully installed faraday-http-cache-2.2.0
 Successfully installed kramdown-2.3.0
 Successfully installed kramdown-parser-gfm-1.1.0
 Successfully installed public_suffix-4.0.5
 Successfully installed addressable-2.7.0
 Successfully installed sawyer-0.8.2
 Successfully installed octokit-4.18.0
 Successfully installed unicode-display_width-1.7.0
 Successfully installed terminal-table-1.8.0
 Successfully installed no_proxy_fix-0.1.2
 Successfully installed danger-8.0.4
 Successfully installed multi_xml-0.6.0
 Successfully installed mime-types-data-3.2020.0512
 Successfully installed mime-types-3.3.1
 When you HTTParty, you must party hard!
 Successfully installed httparty-0.18.1
 Successfully installed gitlab-4.16.1
 Successfully installed danger-gitlab-8.0.0
 27 gems installed
 git version 2.20.1
 Danger version  8.0.4
 Removing intermediate container 90028767a09d
  ---> 531e3056eefe
 Successfully built 531e3056eefe
 Successfully tagged registry-gitlab.xxxx.fr/bac-a-sable/danger/danger:test

And I defined .gitlab-ci.yml :

danger test:
  stage: test
  rules:
    - if: '$CI_MERGE_REQUEST_ID'
  image: "$CI_REGISTRY/bac-a-sable/danger/danger:test"
  script:
    - danger --dangerfile=danger/test/Dangerfile --fail-on-errors=true --verbose

The output of my CI is :

 Running with gitlab-runner 13.1.1 (6fbc7474)
   on shared_01 X4ymSfyT
Preparing the "docker" executor
00:01
 Using Docker executor with image registry-gitlab.xxxx.fr/bac-a-sable/danger/danger:test ...
 Authenticating with credentials from job payload (GitLab Registry)
 Pulling docker image registry-gitlab.xxxx.fr/bac-a-sable/danger/danger:test ...
 Using docker image sha256:531e3056eefebe0c2c3f54ab1ca6d90618b47dc3b5aad1f646720bfa97e881fb for registry-gitlab.xxx.fr/bac-a-sable/danger/danger:test ...
Preparing environment
00:01
 Running on runner-x4ymsfyt-project-690-concurrent-0 via xxxx-gitlab-ci.xxx.fr...
Getting source from Git repository
00:02
 Fetching changes with git depth set to 50...
 Reinitialized existing Git repository in /builds/bac-a-sable/danger/cms-internet/.git/
 Checking out d7539258 as refs/merge-requests/1/head...
 Skipping Git submodules setup
Executing "step_script" stage of the job script
00:08
 $ danger --dangerfile=danger/test/Dangerfile --fail-on-errors=true --verbose
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 WARNING: Please convert ObjectifiedHash object to hash before calling Hash methods on it.
 Results:
 Markdown:
 ok test
 Job succeeded

These are harmless warnings and don't affect the end result. They should be fixed in danger gem.

See: danger/danger#1245

OK, thanks !