OSDN Git Service

Model::Base: add KeyValue-Store support
authorhylom <hylom@users.sourceforge.jp>
Mon, 24 Oct 2016 18:15:11 +0000 (03:15 +0900)
committerhylom <hylom@users.sourceforge.jp>
Mon, 24 Oct 2016 18:15:11 +0000 (03:15 +0900)
src/newslash_web/lib/Newslash/Model/Base.pm

index 845b10c..6854587 100644 (file)
@@ -6,6 +6,10 @@ use utf8;
 use feature ':5.10';
 
 use DBI;
+use Redis;
+
+
+use Data::Dumper;
 
 sub import {
     my $class = shift;
@@ -56,10 +60,10 @@ sub connect_db {
     my $self = shift;
     my $options = shift || {};
 
-    my $DB_HOST = $self->{options}->{host};
-    my $DB_NAME = $self->{options}->{name};
-    my $DB_USER = $self->{options}->{user};
-    my $DB_PASSWORD = $self->{options}->{password};
+    my $DB_HOST = $self->{options}->{Database}->{host};
+    my $DB_NAME = $self->{options}->{Database}->{name};
+    my $DB_USER = $self->{options}->{Database}->{user};
+    my $DB_PASSWORD = $self->{options}->{Database}->{password};
 
     my $settings = 'mysql_read_default_group=libmysqlclient;mysql_read_default_file=/etc/mysql/my.cnf';
     my $attr = {
@@ -84,11 +88,18 @@ sub new_instance_of {
     return $class->new($self->{options});
 }
 
+sub connect_kvs {
+    my $self = shift;
+    my $r = Redis->new(server => $self->{options}->{KeyValueStore}->{host});
+    $r->connect;
+    return $r;
+}
+
 sub logger {
     my $self = shift;
 
-    if ($self->{options}->{logger}) {
-        return $self->{options}->{logger};
+    if ($self->{options}->{Logger}) {
+        return $self->{options}->{Logger};
     }
     # return dummy object
     return {